easyui-combobox可支持多選,僅需將multiple值設為true即可
$('#combobox').combobox({ url:url, multiple:true, separator:',', valueField:'value', textField:'text' });
保存值時,會根據separator值進行分隔,默認以,分隔
在對combobox賦值時,使用了form的load進行賦值
$("#form").form('load', data)
這時就出了一點小問題,在數據庫存入了19,20的值后,再load出來會發現變成了1,9,,,2,0
整了半天沒發現有什么問題,百度也無果
最后從combobox多選時賦值所用的方法中發現了問題:
combobox的multiple值為true時,賦值方法為setValues
$('#combobox').combobox('setValues',data.split(","));
data.split(",”)獲得的是一個數組,而從數據庫中取出的值為String,結果顯而易見,combobox把String拆分成一個個char的數組了,字符串”19,20“就是由 1 9 , 2 0 組成的。。。
同理,在獲取值時使用的方法是getValues,得到的是一個數組
所以解決方法就簡單了,只需將19,20split成一個數組再load就沒問題了