简体   繁体   English

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

[英]Unable to remove disable property from radio buttons on click of another radio button

I have a table in which all the radio buttons are disabled except the first radio button in every row. 我有一个表格,其中所有单选按钮都被禁用,除了每行的第一个单选按钮。 I want if someone clicks on first radio button then all the radio buttons next to that becomes selectable. 我想如果有人单击第一个单选按钮,那么旁边的所有单选按钮将变为可选择状态。 below is my code but its not responding well. 下面是我的代码,但响应不佳。

<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>

You have type error in :find() jquery second line 您在:find()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');
});

I can Find Error at your Code 我可以在您的代码中找到错误

If It is Not Typo then 如果不是错别字

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

Replace 更换

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM