gpt4 book ai didi

javascript - jQuery 数据表在刷新后保留过滤器参数

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:01:24 26 4
gpt4 key购买 nike

根据我之前的一些问题,我正在使用数据表。我能够在表的顶部添加 INPUT 字段,以在数据表中执行单独的列搜索。

我现在需要做的是在页面刷新后保留在INPUT字段(或多个字段)中输入的参数。

到目前为止,这是我的代码:

 // header input filters
$('#example1 .filters th').each(function(){
var title = $('#example1 thead th').eq($(this).index()).text();
$(this).html('<input type="text" placeholder="Search '+title+'" />');
});

// set and print the datatable
var $dataTable = $('#example1').DataTable({
"ajax": 'api/dateset.php',
"iDisplayLength": 25,
"order": [[ 6, "desc" ]],
"scrollY": 580,
"scrollX": true,
"bDestroy": true,
"stateSave": true
});

// Apply the search to columns
$dataTable.columns().eq(0).each(function(colIdx){
$('input', $('.filters th')[colIdx]).on('keyup change', function(){
$dataTable
.column(colIdx)
.search(this.value)
.draw();
});
});

如果您注意到上面我设置 $dataTable 的部分,您应该会看到 "stateSave": true 。使用它,当页面刷新时,它会保存用户输入的参数搜索,但不会显示 INPUT 字段中的文本。

这就是我被困的地方。

这是一个可视化表示:

刷新前-

enter image description here

刷新后-

enter image description here

如您在第二张图片中所见,可以搜索以 TEST222 开头的 BOOKING,但文本在 BOOKING INPUT 字段中不再可见。

我确实看到了这篇文章:https://datatables.net/reference/option/stateSaveCallback

但我不确定如何将该代码实现到我的代码中。我什至不确定 stateSaveCallback 是否是正确的函数。

最佳答案

我终于找到了这个帖子:http://live.datatables.net/neqozaj/1/edit

利用该帖子,我能够将这段代码添加到整个函数中:

 var state = $dataTable.state.loaded();
if ( state ) {
$dataTable.columns().eq( 0 ).each( function ( colIdx ) {
var colSearch = state.columns[colIdx].search;

if ( colSearch.search ) {
$('input', $('.filters th')[colIdx]).val( colSearch.search );
}
});
$dataTable.draw();
}

使用它,我能够达到我想要的效果。

关于javascript - jQuery 数据表在刷新后保留过滤器参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37030451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com