“当使用grid.setFilter(...)时,无法调用方法'toLowerCase'未定义”

时间:2013-07-20 12:02:56

标签: 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

,查询字符串的控制台日志看起来像

[{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');

它有效。这有什么不对吗?

1 个答案:

答案 0 :(得分:0)

尝试将String转换为JSON对象并传递它。 如果您使用的是jQuery,请使用parseJSON。

var objQueryString = $.parseJSON(queryString);

grid.setFilter(objQueryString , 'logicany');