Javascript &引用;无法调用方法';toLowerCase';“未定义”的定义;使用grid.setFilter(…)时
我想以编程方式为我的增强网格设置过滤器插件。这就是我的方法:Javascript &引用;无法调用方法';toLowerCase';“未定义”的定义;使用grid.setFilter(…)时,javascript,json,string,dojo,Javascript,Json,String,Dojo,我想以编程方式为我的增强网格设置过滤器插件。这就是我的方法: //concat query string console.log(queryString); grid.setFilter(queryString, 'logicany'); 我得到了错误 Uncaught TypeError: Cannot call method 'toLowerCase' of undefined FilterDefDialog.js.uncompressed.js:949 查询字符串的控制台日志如下所示
//concat query string
console.log(queryString);
grid.setFilter(queryString, 'logicany');
我得到了错误
Uncaught TypeError: Cannot call method 'toLowerCase' of undefined FilterDefDialog.js.uncompressed.js:949
查询字符串的控制台日志如下所示
[{type:'string',column:1,condition:'contains',value:'test'},{type:'string',column:1,condition:'contains',value:'13'}]
但当我设置一个硬编码的查询字符串时,如下所示:
grid.setFilter([{type:'string',column:1,condition:'contains',value:'test'},{type:'string',column:1,condition:'contains',value:'13'}], 'logicany');
它起作用了。有什么问题吗?尝试将字符串转换为JSON对象并传递该对象。 如果您使用的是jQuery,那么就使用parseJSON
var objQueryString = $.parseJSON(queryString);
grid.setFilter(objQueryString , 'logicany');