今天发现使用easyui combobox,报错,如下图:
jquery.easyui.min.js:14329 Uncaught TypeError: row[opts.textField].toLowerCase is not a function
at HTMLSelectElement.filter (jquery.easyui.min.js:14329)
at jquery.easyui.min.js:13979
at Function.map (jquery.min.js:2)
at _a76 (jquery.easyui.min.js:13972)
at HTMLSelectElement.query (jquery.easyui.min.js:14298)
at jquery.easyui.min.js:13537
filter @ jquery.easyui.min.js:14329
(anonymous) @ jquery.easyui.min.js:13979
map @ jquery.min.js:2
_a76 @ jquery.easyui.min.js:13972
query @ jquery.easyui.min.js:14298
(anonymous) @ jquery.easyui.min.js:13537
setTimeout (async)
_a1f @ jquery.easyui.min.js:13532
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
百度了一下,发现,如果combobox能输入并且可选,必须保证输入的值为string类型的,不然就会报错,将从后台传回的值全部转换成string类型的即可,下面是我写的代码。
$.ajax({ type:'get', url:'xxxxxxx', async:true, success:function(data){ var data_list = [] for(d in data){ data_list.push({"id":data[d]["id"].toString(),"text":data[d]["text"].toString()}) } $("#filter_value").combobox("loadData", data_list); $("#mul_filter_value").combobox("loadData", data_list); $("#bet_filter_value").combobox("loadData", data_list); } });