如何限制选择,只能在选项组内的多个选择的引导选择器
How to restrict selection, only within the option group in multiple selection of bootstrap selectpicker
在引导选择器中,对于多个选择,如何仅在一个选项组内限制选择。意思是,如果在一个选项组中选择了某些项,并且在另一个选项组中进行了新的选择,则先前的选择应被清除,只保留新选择。
首先获取引导选择器https://silviomoreto.github.io/bootstrap-select/
HTML<select class="selectpicker" title="Please Select" multiple data-max-options="4">
<optgroup class="group1" label="GROUP1" data-max-options="2">
<option class="group1_2 ">Item1</option>
<option class="group1_2 ">Item2</option>
</optgroup>
<optgroup class="group2" label="GROUP2" data-max-options="2">
<option class="group2_2 ">Item A</option>
<option class="group2_2 ">Item B</option>
</optgroup>
</select>
脚本<script>
$(document).ready(function () {
$('.selectpicker').selectpicker();
var flagGroup1 = 0;
var flagGroup2 = 0;
$(".group1_2").click(function() {
if (flagGroup2 >= 1) {
$(".selected").removeClass("selected");
$('.selectpicker').selectpicker('deselectAll');
flagGroup2 = 0;
flagGroup1 = 1;
}
if ($( this ).parent().hasClass("selected")) {
if (flagGroup1 > 1) {
flagGroup1 = 1;
} else {
flagGroup1 = 0;
}
} else {
flagGroup1 = flagGroup1 + 1;
}
});
$(".group2_2").click(function() {
if (flagGroup1 >= 1) {
$(".selected").removeClass("selected");
$('.selectpicker').selectpicker('deselectAll');
flagGroup1 = 0;
flagGroup2 = 1;
}
if ($( this ).parent().hasClass("selected")) {
if (flagGroup2 > 1) {
flagGroup2 = 1;
} else {
flagGroup2 = 0;
}
} else {
flagGroup2 = flagGroup2 + 1;
}
});
});
</script>
相关文章:
- 选择“选择选项”时显示文本.怎么做
- 动态填充Bootstrap选择选择器:change event dos'不起作用
- 以编程方式打开<选择>选取器
- 在cordova 4 iOS中,慢速键盘/选择选择器进行响应
- jquery:输入选择器未选择:选择元素
- 输入:选中,选项:选择选择器
- 引导选择选择器焦点事件
- Javascript-从数组中选择选择器中的值
- 错误:类型错误: $(..).选择选择器不是使用 requireJS 加载的函数库
- 动手选择编辑器 - 如何同时拥有值和文本
- 引导选择选取器样式不起作用
- 选择选取器标题更改文本
- 引导程序选择选择器多选
- JQuery设置引导程序选择选择器的预选值
- 延迟选择/取消选择滚动器中的图像
- 防止Safari窗口在iPad上弹跳,并允许选择洗涤器
- ckeditor:如何在焦点上选择编辑器内的所有文本
- 为什么这个angular的选择包装器指令不能工作?
- 如何从异步调用中填充ng表上的选择筛选器
- 主干表单使用主干集合和“选择编辑器”选项