【发布时间】:2017-07-21 08:58:16
【问题描述】:
我在服务器端模式下设置了 DataTables 1.10.15。
使用 jquery 的 keyup 和 change 方法完成各种输入时,触发为表生成数据的 ajax 脚本。
我想实现一个按钮来将表格重置为原始状态(第一次加载页面,在任何搜索/排序之前)状态。
所以我实现了这一点,这意味着当单击按钮 (#resetSearch) 时,它会清除所有搜索输入字段,然后重绘表格:
$('#resetSearch').click(function(){
$(':input','#primarySearch')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
myTable.draw();
});
变量myTable是对DataTables的引用:
var myTable = $('#myTable').DataTable({ });
问题在于,尽管它清除了我所有的搜索输入,但它并没有重置表中的 sort 和 order 输入。因此,如果我对第 2 列进行降序排序,然后按#resetSearch,它将按第 2 列的降序给出所有结果 - 因为那里没有代码可以将其重置为第 0 列升序。
我不明白如何定位 sort 或 order 输入,以便我可以覆盖它们并使其工作。
有人可以帮忙吗?
【问题讨论】:
-
@markpsmith 这一切都已弃用。我遇到的每个链接或 SO 帖子都是针对旧版本的 DataTables,或者它们不使用服务器端模式的那些
-
你试过
$('#myTable').DataTable().ajax.reload();吗?
标签: jquery datatables