Javascript jquery datatable高亮显示在重新加载后会消失
我有一个datatable,它使用ajax加载值Javascript jquery datatable高亮显示在重新加载后会消失,javascript,jquery,datatable,Javascript,Jquery,Datatable,我有一个datatable,它使用ajax加载值 var table = $('#example').DataTable({ "ajax": "xxxxxx.aspx", stateSave: true, "aLengthMenu": [ [10, 25, 50, 100], [10, 25, 50, 100] ], "iDisplayLength": 25, "order": [
var table = $('#example').DataTable({
"ajax": "xxxxxx.aspx",
stateSave: true,
"aLengthMenu": [
[10, 25, 50, 100],
[10, 25, 50, 100]
],
"iDisplayLength": 25,
"order": [
[0, "desc"]
],
columnDefs: [{
"visible": false,
"targets": [2, 3]
}, {
"type": 'date-uk',
"targets": [1, 9, 10]
}, {
"type": 'title-string',
"targets": [11]
}],
});
$('#example tbody').on('click', 'tr', function () {
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
} else {
table.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
}
});
使用setInterval,我要求每隔5秒重新加载该表
setInterval(function(){table.ajax.reload(null, false)}, 5000);
重新加载Datatable时,它会从突出显示行中删除。谁能告诉我重新加载后如何保留行上的高光
谢谢您可以这样做:
function highlight() {
$('#example tbody').on('click', 'tr', function () {
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
} else {
table.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
}
});
}
$(document).ready(function () {
// Call the function at document ready
highlight();
// Call the ajax and the function every 5 seconds
setInterval( function () {
table.ajax.reload(null, false);
highlight();
}, 5000 );
});
当我单击该行时,我可以看到该行以深蓝色突出显示,但在重新加载时它确实会下降。您可以使用jQuery将突出显示行的id保存在隐藏字段中(表外),然后在刷新后检索id值,使用它再次选择并突出显示该行。我想上面的代码不会工作,因为“无何突出显示”功能正在将焦点设置为任何行?