2012-02-01 85 views
1

我有一个表,每行包含一个复选框以及一些其他单元格。为了使整个行可点击,以便它可以被用来切换我用这段代码的复选框的状态:jQuery切换复选框状态

$('#eoiTable tr').click(function(){ 
    var $checkbox = $(this).find('input[type=checkbox]'); 
    $checkbox.prop('checked', !$checkbox.is(':checked')); 
    }); 

,当我直接点击这个伟大的工程为行,除了在所有细胞复选框本身。它重新切换到旧的状态。我可以理解这里发生了什么,但是如何确保当您单击复选框本身时表格onclick事件不起作用?

谢谢!

回答

2

尝试添加的东西冒泡

$('#eoiTable tr input[type="checkbox"]').click(function(e) { 
    e.stopPropagation(); 
}); 

编辑停止事件:有错误的类型

+0

作品!非常感谢。 – Prakhar 2012-02-01 07:01:27

0

您选择包含复选框,也是表的行。因此,为了避免表onclick事件灭火时复选框被选中排除它从选择像

$('#eoiTable tr + #eoiTable tr input:not("[type=checkbox]")') 

不知道这一点,但试试这个方法