在使用easyUI的combobox时,当参数里设置为multiple:true时,下拉框可以选择多个,
js代码
<pre name="code" class="javascript">$('#cc').combobox({
panelHeight:'auto',
multiple:true,
method:'get',
url:'web',
dataType : "json",
valueField:'id',
textField:'name',
});
前台html代码:
<input name = "catalog_id" id="cc" />
多选时,值的获取不是一个String了,是一个String[] 的数组了,此时后台获取应该是
String[] catalog_id = req.getParameterValues("catalog_id");
设定多选的combox的值时,
$('#cc').combobox('setValues','value1','value2');
使得combobox自带复选框功能则可以使用以下代码:
$('#cc').combobox({
url:'combobox_data1.json',
method:'get',
valueField:'id',
textField:'text',
panelHeight:'auto',
multiple:true,
formatter: function (row) {
var opts = $(this).combobox('options');
return '<input type="checkbox" class="combobox-checkbox">' + row[opts.textField]
},
onLoadSuccess: function () {
var opts = $(this).combobox('options');
var target = this;
var values = $(target).combobox('getValues');
$.map(values, function (value) {
var el = opts.finder.getEl(target, value);
el.find('input.combobox-checkbox')._propAttr('checked', true);
})
},
onSelect: function (row) {
//console.log(row);
var opts = $(this).combobox('options');
var el = opts.finder.getEl(this, row[opts.valueField]);
el.find('input.combobox-checkbox')._propAttr('checked', true);
},
onUnselect: function (row) {
var opts = $(this).combobox('options');
var el = opts.finder.getEl(this, row[opts.valueField]);
el.find('input.combobox-checkbox')._propAttr('checked', false);
}
});