下面是一个JSFiddle:https://jsfiddle.net/5sgc03my/。我有一个带有两个YADCF过滤器的DataTable:
var oTable = $('#example').DataTable({
"serverSide": true,
"ajax": {"url": "/platform/activities/?format=datatables",
"dataSrc": function(json){
yadcf_data_1 = json.options.activity_type
console.log(yadcf_data_1)
return json.data;
}
},
});
console.log(yadcf_data_1)
yadcf.init(oTable,
[
{
column_number : 0,
filter_type: "range_date",
},
{
column_number : 1,
filter_type: "select",
select_type: "select2",
},/platform/activities/?format=datatables返回此响应:
{"recordsTotal":23286,"recordsFiltered":23286,
"data":[{"id":104,"activity_type":"Option 1",}],
"draw":1,
"options":{"activity_type":[{"label":"Option 1","value":1},
{"label":"Option 2","value":2},]}}目前,activity_type列(第1列)的筛选器只返回Option 1,因为这是表中可用的全部内容。因此,我希望将过滤器指向Ajax响应的activity_type部分中的options数组。我知道可以为每个过滤器设置data选项,但我不知道如何将其指向键:value数组。当我将console.log(yadcf_data_2);放在DataTable构造之外时,它只打印undefined。这是在ajax函数中的控制台调用之前打印的。
如何将YADCF绑定到activity_type数组?
发布于 2019-04-16 10:00:30
看看yadcf展示服务器页面,您应该将yadcf_data_0 / yadcf_data_1与recordsTotal / data一起发送
您还可以在yadcf代码中调试xhr事件以查看发生了什么事情。
//以防要用值填充select / auto_complete筛选器 //您必须在当前的JSON中添加以下属性yadcf_data_0 / yadcf_data_1 / etc‘ //其中每个属性都包含一个字符串列表 //例如: //"yadcf_data_0":"KHTML“、"Webkit”、“三叉戟”、"Misc“、”其他浏览器“、"Tasman”、"Presto“、"Gecko", //“yadcf_data_1”:[“任天堂DS浏览器”
https://stackoverflow.com/questions/55633914
复制相似问题