使用单个列筛选进行状态保存
State Saving with individual column filtering
>我在数据表中使用单个列过滤以及状态保存:true。要执行列过滤,我正在使用列过滤器.js。
我面临一个问题,如果我过滤列中的数据并重新加载页面,它仅保持表的状态,但文本框变为空。在页面刷新时,表和搜索文本框的状态也保持不变。
在页面刷新时,应显示文本框值,但取而代之的是文本框变为空。
请有人告诉我如何维护文本框值以及表状态。
我正在使用此代码
jQuery('#Gridtable').dataTable({
stateSave: true,
"aLengthMenu": [[10, 25, 50, 100, 500, -1], [10, 25, 50, 100, 500, "All"]],
"iDisplayLength": 10,
}).columnFilter({
sPlaceHolder: "head:after",
aoColumns: [
{ type: "text" },
{ type: "text" },
{ type: "text" },
]
});
"stateLoaded": function stateLoadedCallback(settings, state) {
state.columns.forEach(function (column, index) {
$('#' + settings.sTableId + '-head-filter-' + index).val(column.search.search);
});
}
只需将您所在州的值放入字段中即可
如果您
使用stateSave=true
数据表选项,则可以以这种方式加载它(在我的情况下为页脚):
stateSave: true,
stateLoadParams: function(settings, data) {
for (i = 0; i < data.columns["length"]; i++) {
let col_search_val = data.columns[i].search.search;
if (col_search_val !== "") {
$("input", $("#your-id-of-table tfoot th")[i]).val(col_search_val);
}
}
}
干杯!
以防万一两年后有人偶然发现了这篇文章......这应该是所描述问题的解决方案。
相关文章:
- 如何在浏览器重新加载时保存位置哈希状态
- ReactJS:使用浏览器按钮导航时保存状态
- Extjs 4在父窗口关闭时保存checkboxGroup的状态
- 在浏览器刷新时保存XHR渲染状态
- d3.js保存状态
- 保存html表单字段状态
- 如何保存动态创建的复选框的更改状态
- 具有闭合功能的 For 循环保存状态
- 使用单个列筛选进行状态保存
- Angular ui路由器,通过url/url变量保存状态
- Javascript:保存和恢复样式状态在IE中不起作用
- JavaScript-使用sessionStorage保存文档之间共享的复选框状态
- 将复选框选中的状态保存并加载到数据库
- 我们可以将jquery POST/GET回调函数的数据和状态保存在变量中以供进一步使用吗?
- 试图理解Flux存储——所以如果状态保存在存储中,这也是我进行数据库调用的地方吗
- 取消选中PHP中的复选框(将状态保存在数据库中)
- 将AngularJS应用的修改状态保存到URL
- 如何将新状态保存到本地json
- 将CryptoJS'的CryptoMD5状态保存为字符串并稍后恢复
- 我如何从以前的JS状态保存“this”并将其转移到另一个