关于easyUI的combbobox下拉框多选时,后台获取下拉框的值获取的问题


在使用easyUI的combobox时,当参数里设置为multiple:true时,下拉框可以选择多个,

js代码

$('#cc').combobox({
		 panelHeight:'auto',
         multiple:true,
		method:'get',
		url:'web',
		dataType : "json",
		valueField:'id',
		textField:'name',
			
        });


 
  

前台html代码:



多选时,值的获取不是一个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 '' + 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);
                }
            });


你可能感兴趣的:(个人笔记)