由于某种原因,这个小代码阻止用户检查实际的复选框并让它在其中放置复选标记,并且检查它的唯一方法是单击该行. $('table tr').click(function() { checkBox = $(this).children('td').children('input[typ
$('table tr').click(function() {
checkBox = $(this).children('td').children('input[type=checkbox]');
if(checkBox.attr('checked'))
checkBox.removeAttr('checked');
else
checkBox.attr('checked', 'checked');
});
您禁用输入的默认复选框行为的原因是复选框位于tr内部,因此当您选中复选框时,您将启动Javascript并切换复选框…导致什么也没发生.您必须检查
target of your event是否不是
:checkbox.
此外,没有必要担心复选框的属性…使用jQuery,你可以简单地.click()它!
$('table tr').click(function(event) {
if (! $(event.target).is("input:checkbox"))
$(this).find('input:checkbox').click();
});
Working example
