easyui-combobox多选时的小问题

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

原文地址:https://www.cnblogs.com/s1165482267/p/9414847.html