数据表1.10.13 YADCF 0.9.3
Ajax数据。
在加载时,我正在调用以下函数:-
columnDataType =列数据类型以设置过滤器类型
columns =获取列标题以设置标签
table =初始化yadcf插件的表对象
function addFilter(columnDataType,columns,table){
var col = "";
var type="";
var label = "";
for(var i=0;i<columnDataType.length;i++){
if(columnDataType[i]=="Character"){
col = i;
type = "text";
for(var index=0;index<columns.length;index++){
if(i==index)
label = "Select "+columns[i].title;
}
yadcf.init(table, [{
column_number: col,
filter_type: type,
filter_default_label : label
}]);
} else if(columnDataType[i]=="Number"){
col = i;
type = "range_number";
yadcf.init(table, [{
column_number: col,
filter_type: type
}]);
} else if(columnDataType[i]=="Date"){
col = i;
type = "date";
label = "dd-MMM-yyyy";
yadcf.init(table, [{
column_number: col,
filter_type: type,
moment_date_format: 'dd-MMM-yyyy',
filter_default_label : label
}]);
}
}
}
以上实现给出了无法读取未定义的属性'filter_delay'错误
所以,这种情况是列(编号,类型)是动态的,表可能有多个字符列,我想为其设置文本过滤器类型,多个日期,数字列等。因此如何传递这些列编号。 s之类的插件:-
yadcf.init(table, [{
column_number: col1,col2,col3,
filter_type: 'text',
filter_default_label : label
}]);
OR
var col = [col1,col2,col3];
yadcf.init(table, [{
column_number: col,
filter_type: 'text',
filter_default_label : label
}]);
答案 0 :(得分:0)
您不能像这样初始化yadcf,每个列过滤器定义都应该有自己的对象
您可以循环创建它们并将其推入数组,稍后可以将其传递给yadcf.init
函数