easyui combobox 多选只能选2个
时间: 2023-10-20 12:26:57 浏览: 61
要实现 easyui combobox 多选只能选2个的功能,可以在 combobox 的 onSelect 事件中添加判断逻辑,当选中的项数量超过2个时,取消最后一次选中的项。具体代码如下:
```javascript
$('#cc').combobox({
onSelect: function(record){
var selected = $(this).combobox('getValues');
if(selected.length > 2){
var lastSelected = selected[selected.length - 1];
$(this).combobox('unselect', lastSelected);
alert('最多只能选择2个!');
}
}
});
```
其中,`#cc` 是 combobox 的 DOM 元素的 ID,`getValues` 方法可以获取已选中的项的值,`unselect` 方法可以取消指定值的项的选择状态。当选中的项数量超过2个时,会弹出提示框提示用户最多只能选择2个。
相关问题
easyui combobox下拉框实现多选
easyui combobox下拉框默认是单选的,如果要实现多选,需要做以下修改:
1. 在combobox的options中添加multiple:true,表示启用多选模式。
2. 在combobox的options中添加onSelect和onUnselect两个事件,用于在选择和取消选择时更新选中的值。
3. 在combobox的panel中添加checkbox或者复选框,用于选择多个选项。
以下是实现多选的示例代码:
HTML代码:
```
<input id="cc" class="easyui-combobox" style="width:200px;">
```
JavaScript代码:
```
$('#cc').combobox({
url: 'get_data.php',
valueField: 'id',
textField: 'text',
multiple: true,
panelHeight: 'auto',
onSelect: function(record){
var value = $(this).combobox('getValues');
value.push(record.id);
$(this).combobox('setValues', value);
},
onUnselect: function(record){
var value = $(this).combobox('getValues');
var index = value.indexOf(record.id);
if (index >= 0){
value.splice(index, 1);
}
$(this).combobox('setValues', value);
},
onLoadSuccess: function(){
var data = $(this).combobox('getData');
var value = $(this).combobox('getValues');
var panel = $(this).combobox('panel');
panel.find('.combo-panel-checkbox').remove();
$.each(data, function(index, item){
var checkbox = $('<input type="checkbox" class="combo-panel-checkbox">').val(item.id);
if (value.indexOf(item.id) >= 0){
checkbox.prop('checked', true);
}
checkbox.insertBefore(panel.find('.combo-panel-list'));
});
},
onShowPanel: function(){
var data = $(this).combobox('getData');
var value = $(this).combobox('getValues');
var panel = $(this).combobox('panel');
panel.find('.combo-panel-checkbox').prop('checked', false);
$.each(data, function(index, item){
if (value.indexOf(item.id) >= 0){
panel.find('.combo-panel-checkbox[value="'+item.id+'"]').prop('checked', true);
}
});
}
});
```
注:示例代码中的get_data.php是一个返回JSON格式数据的接口,可以根据实际情况修改。
easyui combobox 远程加载方式下,设置可以多选
在 EasyUI ComboBox 组件中,如果要实现多选功能,需要两个步骤:
1. 在 ComboBox 的初始化代码中,设置 multiple 属性为 true,表示可以多选。
2. 在数据加载时,需要返回一个数组,数组中每个元素表示一个选项,每个选项包含两个属性:value 和 text,分别表示选项的值和显示文本。
以下是一个示例代码:
```
$('#myComboBox').combobox({
multiple: true,
url: 'myData.php',
valueField: 'value',
textField: 'text'
});
```
其中,myData.php 需要返回一个类似下面的数组:
```
[
{"value": "1", "text": "Option 1"},
{"value": "2", "text": "Option 2"},
{"value": "3", "text": "Option 3"},
{"value": "4", "text": "Option 4"}
]
```
这样,就可以在 ComboBox 中实现多选功能了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)