【发布时间】:2012-03-14 10:58:38
【问题描述】:
我在第一列有一个带有复选框的表格。
可以通过 (a) 选中复选框或 (b) 单击行来选择行。应突出显示选定的行。
我的问题是我可以让任何一个单独工作,但不能同时工作。这是我所拥有的:
// click on row
$('table tbody tr').click( function() {
$(this).find( "th input:checkbox").trigger('change');
// $(this).find( "th input:checkbox").trigger('click');
});
// change listener
$('.tr input:checkbox').live( "change", function () {
console.log("change triggered");
var row = $(this).closest('tr');
if ( $(this).attr('checked') == "checked" ) {
row.addClass( 'ui-btn-hover-c' ).removeClass( 'row_selected ui-btn-up-e' )
} else {
row.addClass('row_selected ui-btn-hover-e' ).removeClass( "ui-btn-up-c");
}
});
我以为我只会将 TR 上的点击路由到复选框更改处理程序,因此只有一个地方可以检查选定的行并处理类添加/删除。
但是我无法让它工作。以上以某种方式创建了一个无限循环,我不知道如何让它正常工作。
【问题讨论】:
标签: javascript jquery events checkbox html-table