Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery datatable高亮显示在重新加载后会消失_Javascript_Jquery_Datatable - Fatal编程技术网

Javascript jquery datatable高亮显示在重新加载后会消失

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": [

我有一个datatable,它使用ajax加载值

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值,使用它再次选择并突出显示该行。我想上面的代码不会工作,因为“无何突出显示”功能正在将焦点设置为任何行?