我正在使用带有 stateSave: true
选项和自定义多列搜索输入的 jQuery DataTables 插件(版本 1.10.5):
$(function(){
$.fn.extend({
myDataTable: function(options){
var $tr = $('<tr></tr>');
$('thead th', this).each(function(){
var $td = $('<td></td>')
var $input = $('<input type="text" placeholder="Search ' + $.trim($(this).text()) + '" />');
$td.append($input);
$tr.append($td);
});
$('thead', this).prepend($tr);
$(this).dataTable(options);
var table = $(this).DataTable();
table.columns().eq(0).each(function(colIdx){
$('input', table.table().header()).eq(colIdx).on('keyup textInput change blur click', function(){
table.column(colIdx).search($(this).val()).draw();
});
});
}
});
});
离开页面并返回时,过滤器已正确应用,但输入到搜索输入中的值消失了。在返回和使用 stateSave: true
时如何预先填充它们?
我尝试使用 fnStateLoaded
回调,但找不到每列的过滤器值的存储位置。
最佳答案
我实际上是在寻找答案时遇到你的问题的。经过更多搜索,我找到了正确的解决方案。查看https://odoepner.wordpress.com/2011/12/12/jquery-datatables-column-filters-state-saving/寻求解决方案。
关于jquery - 使用 stateSave : true? 返回时如何用其值预填充多个搜索列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28568084/