我想在搜索时突出显示jquery数据表中匹配的文本(不是行)。问题是重复的,但我没有成功地尝试了答案。 我试过了,
$('.dataTables_filter input').keyup(function () {
$('#table td').removeHighlight();
if ($('.dataTables_filter input').val() != "") {
$('#table td').highlight($('.dataTables_filter input').val());
}
});
它工作得很好但是当表重绘时(当输入内的文本发生变化时),高光被删除(这是有意义的,但无法修复)。 Tried this too
答案 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中看到的那样,你有可以使用的回调函数。