我正在使用这个 jquery 插件http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/
我有 2 个多选。每个多选都有两个 optgroup。第二个多选的 optgroup 取决于第一个多选的 optgroup。例如,如果multiselect1的optgroup1的所有选项都未选中,那么我需要隐藏 multiselect2 的optgroup1 (包括 optgroup1 的所有选项)。
当用户使用以下代码分别单击第一个多选的“取消选中全部”和“全部选中”时,我只知道隐藏和显示第二个多选的所有选项。
$("#ddlFirst").multiselect({
height: "200px",
noneSelectedText: "None",
checkAll:function() {
var second = $("#ddlSecond").multiselect();
// Show all the options of second multiselect
second.multiselect('widget')
.find(':checkbox')
.each(function() {
$(this).show();
});
second.multiselect('widget')
.find('li')
.each(function() {
$(this).show();
});
},
uncheckAll: function() {
var second = $("#ddlSecond").multiselect();
// Hide the all options of second multiselect
second.multiselect('widget')
.find(':checkbox')
.each(function() {
$(this).hide();
});
second.multiselect('widget')
.find('li')
.each(function() {
$(this).hide();
});
},
click:function(event, ui){
//
},
optgrouptoggle: function() {
//
}
});
现在,我正在尝试在 optgroup 级别做同样的事情。我正在寻找以下情况的解决方案:
当用户单击第一个多选的 optgroup 标签(比如说 optgroup1)以检查\取消选中此 optgroup 的选项时,我需要隐藏第二个(另一个)多选的相应 optgroup(optgroup1)的选项。
用户可以通过手动逐个单击每个选项来取消选中 optgroup1 下的所有选项,然后我需要隐藏第二个多选的 optgroup1 的所有选项。
谢谢