我已经实现了jquery 多选插件并让它工作正常。我有一长串选择选项,并按 optgroups 划分。虽然 optgroups 组织了我的长列表,但用户仍然需要滚动一段时间才能到达底部选项。我只是在寻找一种解决方案,让 optgroup 默认折叠并在您单击组时不折叠。
当您单击 optgroup 时,它会自动选择我想阻止的所有选项,而是用隐藏功能代替。我知道默认情况下 jquery 不能以选择的 optgroup 为目标,但 Jquery Multiple select 插件有一个显然也允许您的事件处理程序。如果您将其网站向下滚动一点,它会为您提供该插件支持的所有事件处理程序。我对这个活动非常感兴趣optgrouptoggle
:
单击 optgroup 标签时触发。此事件接收原始事件对象作为第一个参数,并接收值的哈希作为第二个参数:js
$("#multiselect").bind("multiselectoptgrouptoggle", function(event, ui){ /* event: the original event object, most likely "click" ui.inputs: an array of the checkboxes (DOM elements) inside the optgroup ui.label: the text of the optgroup ui.checked: whether or not the checkboxes were checked or unchecked in the toggle (boolean) */ });
我尝试按如下方式实现一个显示隐藏功能,但我还是 jquery 的新手,可能完全搞砸了。任何帮助,将不胜感激。
http://jsfiddle.net/akhyp/1986/
$("#selected_items").bind("multiselectoptgrouptoggle", function(event, ui){
$(this).children().show();
}, function() {
$(this).children().hide();
});