2010-07-13 48 views
2

我有一個功能:jQuery的複選框沒有響應,當我檢查

$("#tabela tr").toggle(function(){ 
    $(this).addClass("zaznaczone"); 
    $(this).find(" :checkbox").attr("checked", "1"); 
},function(){ 
    $(this).removeClass("zaznaczone"); 
    $(this).find(" :checkbox").attr("checked", ""); 
}); 

,當我在「TR」點擊,但是當我在點擊複選框,此行的反應,但不復選框它的罰款。這是沒有檢查此操作後的平均值checkobx。


我寫底部驗證碼:

$("#tabela tr :checkbox").click(function(){ 
    if($(this).attr('checked')==''){ 
     alert("000000"); 
    } 
    else{ 
     alert("111111111"); 
    } 
}); 

,什麼發生。當我點擊空複選框,我看到警報1111111,然後按下警報彈出複選框上的確定。按確定後複選框沒有被選中,tr從代碼中獲得類。 當我嘗試取消選中複選框我看到相同的警報00000行「TR」未設置與代碼了


您的代碼工作完美的線條和複選框,但是當我嘗試添加此行:

$(this).addClass("zaznaczone"); 
$(this).removeClass("zaznaczone"); 

工作,然後說: 當我上線工作單擊它應該,但是當我在點擊複選框,然後檢查addClass不工作 所有代碼:

$('#tabela tr').bind('click',function(e){ 
     var cb = $(this).find(':checkbox'); 

     if(e.target !== cb[0]){ 
      if(cb.is(':checked')){ 
       cb.removeAttr('checked'); 
       $(this).removeClass("zaznaczone");} 

      else{ 
       cb.attr('checked', 'checked'); 
       $(this).addClass("zaznaczone");} 
     } 
    }); 
+0

託運正確的值是「上」! – Roki 2010-07-13 17:43:40

+0

你有權利但是1,也檢查過工作。 無論如何,這不是解決我的問題。 – WooCaSh 2010-07-13 17:47:02

+0

正確的值是'checked' – jAndy 2010-07-13 17:49:49

回答

1

我無法使這項工作與.toggle(),它會調用它自己的.preventDefault()這只是讓這個任務真棒出於某種原因。也許我只是錯過了一些東西,但下面的代碼很好,而且工作。

$(document).ready(function(){ 
    $('tr').bind('click',function(e){ 
     var cb = $(this).find(':checkbox'); 

     if(e.target !== cb[0]){ 
      if(cb.is(':checked')) 
       cb.removeAttr('checked'); 
      else 
       cb.attr('checked', 'checked'); 
     } 
    }); 
}); 
+0

我會嘗試和背部有答案 – WooCaSh 2010-07-13 18:40:24

+0

@WooCaSh:它爲你工作? – jAndy 2010-07-14 05:35:09

+0

就像我回答:差不多看起來回答起來 – WooCaSh 2010-07-14 07:48:57