引导多选复选框的行为像单选按钮
bootstrap multiselect checkbox behave like radio button
我有一个包含7个复选框项的引导多选。对于其中的3个,我需要它们作为一个单选按钮:当我选择解决,然后所有和打开必须取消选择。当我选择全部,然后解决和打开必须取消选择。当我选择打开,那么所有和解决必须取消选择。有可能在不破坏多个菜单中的多选的情况下实现这一点吗?
这是一个jsfiddle: http://jsfiddle.net/sp3L1yz3/
我尝试了'onchange',但逻辑是不正确的,因为它不知道刚刚点击和运行每个项目的项目,使选择/取消选择只能从上到下的项目:
onChange: function(option, checked) {
var selectedOptions = $('#menu option:selected');
$('#menu option:selected').each(function() {
if ($(this).val().indexOf("resolved") > -1) {
$('#menu').multiselect('deselect', 'all');
$('#menu').multiselect('deselect', 'open');
$('#menu').multiselect('select', 'resolved');
}
if ($(this).val().indexOf("open") > -1) {
$('#menu').multiselect('deselect', 'all');
$('#menu').multiselect('deselect', 'resolved');
$('#menu').multiselect('select', 'open');
}
if ($(this).val().indexOf("all") > -1) {
$('#menu').multiselect('select', 'all');
$('#menu').multiselect('deselect', 'resolved');
$('#menu').multiselect('deselect', 'open');
}
});
}
注意,您的选项应该包含在<optgroup>
标记中,像这样:
<div class="selectdiv">
<select name="menu[]" id="menu" class="multiselect" multiple="multiple">
<optgroup label="filter one">
<option value='all' selected='selected'>all</option>
<option value='resolved'>resolved</option>
<option value='open'>open</option>
<option value='other1'>other1</option>
</optgroup>
<optgroup label='filter two'>
<option value='one'>1</option>
<option value='ten'>10</option>
</optgroup>
<optgroup label='filter three'>
<option value='three'>three</option>
</optgroup>
</select>
</div>
当你有了这个结构,你可以实现你在onchange方法中寻找的东西,像这样:
$('#menu').multiselect({
maxHeight: 400,
numberDisplayed: 1,
onChange: function(option, checked) {
var values = [];
var optGroupLabel = $(option).parent().attr('label');
$('#menu optGroup[label="'+optGroupLabel+'"] option').each(function() {
if ($(this).val() !== option.val()) {
values.push($(this).val());
}
});
$('#menu').multiselect('deselect', values);
}
})
小提琴。
相关文章:
- 复选框:一次只允许单击一个复选框
- 谷歌应用程序脚本示例-如何更改单选按钮的列表框相关值
- 如何在刷新时重新填充表单中的复选框并将表单值发布到页面
- 如何通过jQuery选中所有复选框并在单击一个复选框时取消选择
- 在单击父复选框的同时获取子复选框的详细信息
- 通过 JQuery 获取单击的复选框的值属性
- 单击“角度”复选框时更新不相关的字段
- 根据选中的单选按钮更改选择框
- 通过单击1复选框选中所有复选框
- 无论首先单击哪个复选框,都需要调用函数1次-.one()的一些变体
- 高级表单提交-单选、复选框和重定向
- 样式为 -webkit-外观的单选按钮:复选框:Chrome 中的不确定状态
- 引导数据切换单选按钮/复选框选中属性
- 如何创建具有两种状态的按钮切换,其行为类似于表单输入的复选框
- 如何绑定引导按钮复选框和表单
- 如何使用单选和复选框按钮验证javascript验证
- 在表单操作与复选框或单选按钮之间交替进行
- 提交按钮不能使用混合单选和复选框输入类型
- 单选按钮+复选框组合
- 表单提交的复选框:点击按钮时显示错误