datatable - 数据表 YADCF 服务器端过滤器类型
问题描述
我正在对服务器端 DataTables.js 请求使用 yadcf 列过滤器。
yadcf.init(table, [
{
column_number: 0,
filter_type: "text",
filter_default_label: "Search",
filter_reset_button_text: false
},
{
column_number: 1,
filter_type: "select",
filter_reset_button_text: false
},
]
请求给我
columns[X][search][value]
columns[X][search][name]
像这样,但我想获得列 yadcf 列属性 filter_type 。
此数据有助于搜索包含搜索或等于搜索
它是如何得到的?或更改脚本。
版本 0.9.3
解决方案
我发送邮件给 Daniel Reznick(yadcf 作家)
丹尼尔·雷兹尼克回答:
我认为您可以通过使用一些数据表“pre XHR”事件/挂钩来实现它,您可以在其中修改 XHR 请求,然后再将其发送到服务器,但是 IMO 因为它只被初始化一次(当您编写 JS 代码时)我猜你可以在服务器上“硬编码”
我的代码是这样的
var table = $("#datalist")
.on('preXhr.dt', function (e, settings, data) {
var yadcf = [];
$('.yadcf-filter').each(function (data) {
input = $(this)
var col = {
"type": input.attr('type'),
"filter_match_mode": input.attr('filter_match_mode'),
"column_number": input.attr('id').replace('yadcf-filter--datalist-', '')
}
yadcf.push(col);
});
data.yadcf = yadcf;
})
.DataTable({
"ajax": {
"url": "/url",
"type": "POST",
"datatype": "json"
},
yadcf.init(table, [
{ column_number: 1, filter_type: "text", filter_default_label: "Contains Search", filter_reset_button_text: false, filter_delay: 500, filter_match_mode:"contains"},
{ column_number: 2, filter_type: "text", filter_default_label: "Exact Search", filter_reset_button_text: false, filter_delay: 500, filter_match_mode: "exact" },
{ column_number: 3, filter_type: "text", filter_default_label: "Starts With Search", filter_reset_button_text: false, filter_delay: 500, filter_match_mode: "startsWith" },
]
推荐阅读
- html - 带有分页符的 Flex 框不起作用
- asp.net-core - 带有消息的自定义错误代码页
- c - 数据依赖和并行化的循环转换
- ios - Swift Tableview 单元格按钮图像根据 tableview 数据更改
- javascript - Google 电子表格提示中具有选择功能的单元格输入
- c# - 路由覆盖
- java - Spring boot:使用 TestRestTemplate 测试分页结果
- javascript - 为什么比较 NodeList 元素总是返回 true 和 '=' 和 false '==='?
- javascript - 错误:您使用错误类型的数据而不是 DataTable 或 DataView 调用了 draw() 方法
- javascript - 一个有效的 JavaScript 号码的正则表达式?