我正在为我的应用程序使用数据表,multiselect正在第一页中工作但似乎不适用于第2页和第3页的分页。
代码是,
$(document).ready(function() {
$('#example tr').click( function() {
$(this).toggleClass('row_selected');
} );
} );
和css是
table.display tr.even.row_selected td {
background-color: #efefef;
}
table.display tr.odd.row_selected td {
background-color: #efefef;
}
我应该包括哪些其他页面的多选工作? 或者代码有什么问题吗?
请帮忙
谢谢,
答案 0 :(得分:1)
2件事......
1.确保在第2页和第3页中包含js代码
2.可能是tr
动态生成的......您需要delegate
$(document).ready(function() {
$('#example').delegate('tr','click', function() { //example -> tableid
$(this).toggleClass('row_selected');
} );
} );
答案 1 :(得分:1)
您正在动态修改dom,因此如果使用jQuery 1.7 +
,您需要使用.delegate或.on进行委派$(document).ready(function() {
$('#example').on('click','tr', function() {
$(this).toggleClass('row_selected');
} );
});
或者如果使用jQuery 1.6及更低版本
$(document).ready(function() {
$('#example').delegate('tr', 'click', function() {
$(this).toggleClass('row_selected');
} );
});
通过委托将事件处理程序绑定到父元素..它然后侦听事件冒泡的时间......例如,当您单击一个tr ...它会使document
中的$('tr').click()function(){});
冒泡例子然后文档处理事件..
如果您尝试以常规方式绑定它
离
$('tr').bind('click',function(){});
或
$('tr').on('click',function(){});
或
{{1}}
他们希望在dom准备就绪时可以使用tr元素 - (如果你把你的代码放在document.ready函数中) - 否则没有事件会绑定到元素