复选框操作

Jef*_*son 3 jquery

出于某种原因,这个小代码阻止用户检查实际的复选框并让它在其中放置复选标记,并且检查它的唯一方法是单击该行.

$('table tr').click(function() {

    checkBox = $(this).children('td').children('input[type=checkbox]');

    if(checkBox.attr('checked'))
        checkBox.removeAttr('checked');
    else
        checkBox.attr('checked', 'checked');

});
Run Code Online (Sandbox Code Playgroud)

Pet*_*tai 5

您禁用输入的默认复选框行为的原因是复选框位于其中tr,因此当您选中复选框时,您将启动Javascript并切换复选框...导致什么也没发生.您必须检查您的活动目标不是:checkbox.

此外,没有必要担心复选框的属性......使用jQuery,你可以简单地.click()说!

$('table tr').click(function(event) {      

    if (! $(event.target).is("input:checkbox"))
        $(this).find('input:checkbox').click();        
});
Run Code Online (Sandbox Code Playgroud)

工作实例