2013-03-17 22 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

相關問題