我正在使用Jquery引导多选插件,它看起来很不错,可以满足我需要的大多数需求。Jquery引导多选择optgroup选择
我想要的唯一附加功能是将复选框添加到OptGroup,因此如果用户想选择完整组,他们可以通过单击来选择所有组。
任何帮助表示赞赏。
http://davidstutz.github.io/bootstrap-multiselect/#examples
我正在使用Jquery引导多选插件,它看起来很不错,可以满足我需要的大多数需求。Jquery引导多选择optgroup选择
我想要的唯一附加功能是将复选框添加到OptGroup,因此如果用户想选择完整组,他们可以通过单击来选择所有组。
任何帮助表示赞赏。
http://davidstutz.github.io/bootstrap-multiselect/#examples
尝试是这样的:
$('.multiselect-group').before('<input type="checkbox" />');
$(document).on('click', '.multiselect-group', function(event) {
var checkAll = true;
var $opts = $(this).parent().nextUntil(':has(.multiselect-group)');
var $inactive = $opts.filter(':not(.active)');
var $toggleMe = $inactive;
if ($inactive.length == 0) {
$toggleMe = $opts;
checkAll = false;
}
$toggleMe.find('input').click();
$(this).parent().find('input').attr('checked', checkAll);
event.preventDefault();
});
您可以使用event.stopPropagation();
我不能评论由于较少的声誉。 希望这会有所帮助。
当我检查一个选项组,然后取消选中它,如果我想再次检查它,它将检查组中的所有选项,但该组保持未选中状态。
为了使选项组为几次重试后选中/取消正常显示,请更换:
$(this).parent().find('input').**attr**('checked', checkAll);
与
$(this).parent().find('input').**prop**('checked', checkAll);
不需要做任何代码来实现您的要求。
有一个在这个插件叫做enableClickableOptGroups
一个选项来选择它运作良好,只有我可以调整UI的optgroup
http://davidstutz.github.io/bootstrap-multiselect/#configuration-options-enableClickableOptGroups
:D cool!这就是为什么他们说:RTFM! – Srichakradhar
所有选项看调整复选框对齐。唯一的问题是,如果您选择optgroup复选框下拉菜单会自动关闭。任何工作? –
我相信这是来自父列表上的单击事件处理程序。使用event.preventDefault()。我会更新答案来展示这一点。 – PatrickDelancy
任何帮助将不胜感激。 –