我正在使用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
任何幫助將不勝感激。 –