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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM