2014-07-25 50 views
0

我有一个表中除了每行中的第一个单选按钮之外,所有单选按钮都被禁用。我想如果有人点击第一个单选按钮,那么旁边的所有单选按钮都可以选择。下面是我的代码,但它没有反应良好。无法从单选按钮上删除禁用属性单击另一个单选按钮

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    $('tr td').not(':nth-child(2)').find('input[type=radio]').prop('disabled',true); 
    $('tr td'):find('input[type=radio]').change(function(){ 
     $(this).parent().nextAll().find('input[type=radio]').removeAttr('disabled'); 
    }); 
}); 
</script> 
</head> 
<body> 
<input type='radio' id='Q6x1_8'>Click<p> 
<table border='1'> 

<tr> 
<td>Test1</td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
</tr> 

<tr> 
<td>Test2</td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
</tr> 

<tr> 
<td>Test3</td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
</tr> 

<tr> 
<td>Test4</td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
</tr> 

<tr> 
<td>Test5</td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
</tr> 

<tr> 
<td>Test6</td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
<td><input type="radio"></td> 
</tr> 

</table> 
</body> 
</html> 
+2

使用浏览器控制台来看待错误!修复你的语法和代码工作 – charlietfl

回答

0

你有类型错误:找到()jQuery的二线

//not :find() 
$('tr td'):find('input[type=radio]').change(function(){ 
    $(this).parent().nextAll().find('input[type=radio]').removeAttr('disabled'); 
}); 

// .find() 
$('tr td').find('input[type=radio]').change(function(){ 
    $(this).parent().nextAll().find('input[type=radio]').removeAttr('disabled'); 
}); 
+0

语法错误,对不起,伙计们..谢谢你的帮助:) – Vaibhav

0

我可以在你的代码

查找错误,如果它不是错字然后

`$('tr td'):find('input[type=radio]')` 

替换

$('tr td').find('input[type=radio]') 

工作小提琴 http://jsfiddle.net/5ZAJk/

+0

你是什么意思'引用Jquery是Missing'? – charlietfl

+0

哦,我没有注意到谷歌托管图书馆 –