2010-07-13 87 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