【发布时间】:2010-05-21 23:25:16
【问题描述】:
我有一个数据表,每行有一个复选框供用户选择项目。
我正在使用以下 jQuery 代码来允许用户通过单击行中的任意位置来选择项目:
$("tbody tr").click(function() {
var checkbox = $(this).find(':checkbox');
checkbox.attr('checked', !checkbox.attr('checked'));
});
问题是如果我直接点击复选框,什么都不会发生。 IE。如果复选框未选中,则保持未选中状态。如果我单击行中的其他任何位置,复选框会更改状态。
我认为 jQuery 代码导致该操作执行了两次。如果我单击复选框,复选框将更改,但随后将执行用于单击行的 jQuery 代码,并且复选框将更改回。不确定这是否真的发生,但这是我的猜测。
当用户点击一行时,我怎样才能让一个复选框被切换,如果他们直接点击复选框,我该如何切换?
【问题讨论】: