datatable - 如何在不更新“搜索”输入字段的情况下手动搜索数据表
问题描述
如果我手动调用:
tabla.search('Advanced:' + search).draw();
其中“tabla”是一个数据表,“search”输入字段将使用搜索文本进行更新。
事实是我正在使用相同的字段实现高级搜索功能。
如果用户在搜索字段中输入内容(简单搜索),网格将随着搜索自动刷新。还行吧。
但是,我有一个高级搜索表单。当执行这种搜索时,我需要发布到服务器的搜索参数包括所有带有“高级:”前缀的搜索字段。这样,在服务器端,我可以知道搜索是简单的还是高级的。
问题是当使用“搜索”方法时,输入字段会随着搜索内容而更新。如果执行高级搜索,此文本会出现在字段中,例如:
Advanced:Campo_1=936969&Campo_2=&Campo_4=&Campo_7=&Campo_3=&Campo_5=&Campo_6=&Campo_8=
有没有办法避免搜索字段被更新?
谢谢詹姆
解决方案
最后,我创建了一个自定义搜索字段并删除了默认搜索字段。
为了完成它,我使用了这个 dom 定义:
dom: "<'row'<'col-sm-12 col-md-4'<\"gridToolbar\">><'col-sm-12 col-md-4'l><'col-sm-12 col-md-4'<\"customSearch\">>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>"
然后,在 draw.dt 事件中,我添加了:
$("div.customSearch").html('<div id="facturas_filter" class="dataTables_filter"><label>Buscar:<input type="search" class="form-control form-control-sm" placeholder="" aria-controls="facturas"></label></div>');
$('#facturas_filter input').on('keyup', function () {
tabla.search($('#facturas_filter input').val()).draw();
});
干杯杰米
推荐阅读
- javascript - 我如何能够在每次更新 JSON 文件时读取它而不刷新网页
- java - 使用 Lambda 表达式的 JavaFX 视图
- python - 打印出表格中特定元素的列表
- c++ - 使用 nlohmann json 或 rapidjson 解析 libcurl 响应
- queue - 在这种情况下,PriorityQueue add() 和 poll() 的时间复杂度是多少
- python - Django 模板 {%url %} 链接格式
- python - Tkinter - 如何创建一个在同一窗口中更新文本的 GUI?
- php - 在PHP中的多维数组中通过foreach循环回显值列表
- javascript - 为什么我的方法不能引用它所属类的构造函数道具?
- django - 从云构建将 django 部署到 GAE 标准