单击另一个单选按钮时,无法从单选按钮中删除禁用属性

时间:2014-07-25 14:01:30

标签: jquery html

我有一张表,除了每一行中的第一个单选按钮外,所有单选按钮都被禁用。我想如果有人点击第一个单选按钮,那么旁边的所有单选按钮都可以选择。下面是我的代码,但它反应不佳。

<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 个答案:

答案 0 :(得分:0)

您遇到类型错误:find()jquery second line

//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');
});

答案 1 :(得分:0)

我可以在您的代码中找到错误

如果不是错字

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

替换

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

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