我想选中该行的复选框,所以我为行添加了“live”事件,然后点击我选择使用jQuery的复选框。现在当我点击行时,它会选中复选框。
问题是,当我点击复选框时,复选框没有被选为复选框直播活动。
我们怎样才能同时切换行或复选框,切换复选框值?
我添加了以下代码,以选中点击行的复选框:
$('#manage-ads-grid table tbody tr').live('click', function () {
var checkboxId = $(this).find('input:checkbox').attr('id');
$("#" + checkboxId).prop("checked", !$("#" + checkboxId).prop("checked"));
return false;
})
如果是,我可以使用事件冒泡吗?
答案 0 :(得分:1)
您需要使用以下jQuery停止将click事件从复选框传播到其父tr:
$('input[type=checkbox]').click(function(e){
e.stopPropagation();
});
注意:根据您的代码修改复选框选择器。这可能就像
$('#manage-ads-grid table tbody tr td input[type=checkbox]').click ...
<强> DEMO 强>
答案 1 :(得分:1)
在函数中添加条件检查,如果事件源是INPUT,则不执行任何操作。
$('#manage-ads-grid table tbody tr').live('click', function (event) {
if (event.target.nodeName === 'INPUT') return;
var checkboxId = $(this).find('input:checkbox').attr('id');
$("#" + checkboxId).prop("checked", !$("#" + checkboxId).prop("checked"));
return false;
})