0

如何使这项工作?当 Bar 未选中时,其他输入复选框删除在每个 td 中禁用?我是 Jquery 的初学者 :)

原始代码取自 原始代码

<table border="1" id="re">
    <tr>
<td class="class1"><input type=checkbox  disabled="disabled" value="ss"/>ss</td>
<td class="class1"><input type=checkbox  disabled="disabled" value="aa"/>aa</td>
<td class="class1"><input type=checkbox  disabled="disabled" value="dd"/>dd</td><td class="class1"><input type=checkbox checked="checked" value="bar"/>Bar</td></tr>

    <tr>
<td class="class1">
    <input type=checkbox  disabled="disabled" value="ss"/>ss</td><td class="class1">
    <input type=checkbox  disabled="disabled" value="aa"/>aa</td><td class="class1">
    <input type=checkbox  disabled="disabled" value="dd"/>dd</td><td class="class1">
         <input type=checkbox checked="checked" value="bar"/>Bar
        </td></tr>
     <tr>
<td class="class1">
    <input type=checkbox  disabled="disabled" value="ss"/>ss</td><td class="class1">
    <input type=checkbox  disabled="disabled" value="aa"/>aa</td><td class="class1">
    <input type=checkbox  disabled="disabled" value="dd"/>dd</td><td class="class1">
         <input type=checkbox checked="checked" value="bar"/>Bar
        </td></tr>
    </table>

$('.class1 input:last-of-type').live('change', function () {

var n = $(this).siblings('input:checkbox');
if (!$(this).attr('checked')) {
    n.attr('disabled',false);

} else {

    n.attr('disabled', true); 
} 
});
4

1 回答 1

2

尝试类似的东西

$('table').on('click', 'input[value="bar"]', function(e){
    var $this = $(this);
    var checked = $this.is(':checked');
    var others = $this.closest('tr').find('input:checkbox').not(this).prop('disabled', checked)
    if(checked){
        others.prop('checked', false);
    }
})

演示:小提琴

于 2013-03-17T04:47:45.837 回答