我正在使用JQuery DataTables插件来显示大量数据。我要做的一件事是将'细节'列(有时它们大约是1000个字符)缩短为一个小字符串,这样行的高度都相同,更容易阅读。然后当用户点击小字符串时,它会打开一个对话框并显示完整的详细信息。
它工作得很好,但只在前10行(因为这些都是默认显示的)。一旦我展开表以显示其余行,该函数似乎不适用于那些新显示的行。每次显示的行集都被更改时,dataTables中是否有调用或选项会应用该函数?
这是dataTables调用:
$('#dataTable').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"fnInitComplete": function(){
$('.display_results').show();
$('.def').click(function(){
var msg = $(this).next().text();
$('.messages').messageBox();//Custom Dialog box call
});
}
});
答案 0 :(得分:2)
想出来! http://datatables.net/usage/callbacks 使用'fnDrawCallback'
$('#dataTable').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"fnInitComplete": function(){
$('.display_results').show();
},
"fnDrawCallback": function() {
$('.def').click(function(){
var msg = $(this).next().text();
$('.messages').messageBox()//Custom Dialog
});
}
})
答案 1 :(得分:0)
我猜你可以在声明我们最近的项目中使用的“DataTable”时使用“fnDrawCallback”属性。
答案 2 :(得分:0)
最好将直播活动用于此类活动:http://datatables.net/faqs#events。理想情况下,可以修改messageBox插件以使用实时事件。
阿伦
答案 3 :(得分:0)
实际上你应该做的是:
$(".def").live('click', function() {
//your code here
});