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就没问题了