2013-07-20 46 views
0

「Can not call method」toLowerCase'undefined「時我想以編程方式爲我的增強網格設置我的過濾器插件。這就是我的方法:當使用grid.setFilter(...)

//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'); 

it作品。它出什麼問題了?

回答

0

嘗試將字符串轉換爲JSON對象並傳遞該字符串。 如果您使用jQuery,則使用parseJSON。

var objQueryString = $.parseJSON(queryString); 

grid.setFilter(objQueryString , 'logicany');