突出显示搜索文本jquery数据表

时间:2015-02-03 13:16:39

标签: jquery datatable

我想在搜索时突出显示jquery数据表中匹配的文本(不是行)。问题是重复的,但我没有成功地尝试了答案。 我试过了,

 $('.dataTables_filter input').keyup(function () {
        $('#table td').removeHighlight();
        if ($('.dataTables_filter input').val() != "") {
            $('#table td').highlight($('.dataTables_filter input').val());
        }
    });

它工作得很好但是当表重绘时(当输入内的文本发生变化时),高光被删除(这是有意义的,但无法修复)。 Tried this too

1 个答案:

答案 0 :(得分:0)

您可以尝试使用数据表回调或事件函数:

var yourTable = $('#example').dataTable();

    yourTable.on( 'stateLoaded.dt', function (e, settings, data) {
        if ($('.dataTables_filter input').val() != "") {
            $('#table td').highlight($('.dataTables_filter input').val());
        }
} );

http://datatables.net/reference/event/stateLoaded

$('#example').dataTable( {
  "stateSave": true,
  "stateLoaded": function (settings, data) {
     if ($('.dataTables_filter input').val() != "") {
        $('#table td').highlight($('.dataTables_filter input').val());
     }
  }
} );

http://datatables.net/reference/option/stateLoaded

我没有使用这个特定的插件,但正如你在api中看到的那样,你有可以使用的回调函数。