2013-03-17 44 views
0

如何使其工作?当Bar未选中时,其他人在每个td中输入复选框remove已禁用?我是一个初学者jQuery的:)取消选中td中的最后一个复选框以启用其他复选框

原来的代码是从 Original code

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

回答

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

演示:Fiddle

+0

谢谢,它完美的作品。 – 2013-03-17 11:27:36

+0

你好,我可以知道如果我检查值栏,它可以取消选中其他吗? – 2013-03-17 12:52:18

+0

@AhDii检查[更新的解决方案](http://jsfiddle.net/arunpjohny/Ba7xD/1/) – 2013-03-17 13:36:02

相关问题