2016-04-27 3 views

Antwort

2

Davids Antwort nicht für mich arbeiten. Aber diese beiden Lösungen gearbeitet:

Lösung 1:

buttonContainer: '<div id="example-enableCollapsibleOptGroups-collapsed-container" />', 
onDropdownShown: function() { 
       $('#example-enableCollapsibleOptGroups-collapsed-container .caret-container').click(); 
      }, 
onDropdownHidden: function() { 
       $('#example-enableCollapsibleOptGroups-collapsed-container .caret-container').click(); 
      } 

Lösung 2:

buttonContainer: '<div id="example-enableCollapsibleOptGroups-collapsed-container" />' 

Dann:

setTimeout(function(){ 
    $('#example-enableCollapsibleOptGroups-collapsed-container .caret-container').click(); 
} , 2000); 
1

ich ein einfaches Beispiel für diese hier hinzugefügt: http://davidstutz.github.io/bootstrap-multiselect/#configuration-options-enableCollapsibleOptGroups.

Der Trick ist, das Auslösen des Click-Ereignis für jede Gruppe einmal nach dem Laden der Seite:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#example-enableCollapsibleOptGroups-collapsed').multiselect({ 
      enableCollapsibleOptGroups: true, 
      buttonContainer: '<div id="example-enableCollapsibleOptGroups-collapsed-container" />' 
     }); 
     $('#example-enableCollapsibleOptGroups-collapsed-container .caret-container').click(); 
    }); 
</script> 
<select id="example-enableCollapsibleOptGroups-collapsed" multiple="multiple"> 
    <optgroup label="Group 1"> 
     <option value="1-1" disabled>Option 1.1</option> 
     <option value="1-2" selected="selected">Option 1.2</option> 
     <option value="1-3" selected="selected">Option 1.3</option> 
    </optgroup> 
    <optgroup label="Group 2"> 
     <option value="2-1">Option 2.1</option> 
     <option value="2-2">Option 2.2</option> 
     <option value="2-3">Option 2.3</option> 
    </optgroup> 
</select> 
+0

Hat nicht funktioniert. Ich musste es bei onDropdownShown/onDropdownHidden tun. Eine andere Lösung war es nach 2 Sekunden zu tun: setTimeout (function() { $ ('# example-enableCollapsibleOptGroups-collapsed-container .caret-container'). Click(); }, 2000); – Aboelseoud

+0

Danke für die Hilfe trotzdem! – Aboelseoud

+0

Haben Sie das Beispiel in der Dokumentation (http://davidstutz.github.io/bootstrap-multiselect/#configuration-options-enableCollapsibleOptGroups) überprüft? Der Schlüssel zu diesem Beispiel ist '$ (document) .ready (function() {...});' da die Seite zuerst geladen werden muss. –

0

Ich habe kam mit verschiedenen up Lösung, die gut für m funktioniert e.

HTML:

<div id="multiselect-filter-dropdown-wrapper"> 
    <label id="multiselect-filter-dropdown-label">Filter:</label> 

    <select multiple id="multiselect-filter-dropdown"></select> 
</div> 

JS:

$('#multiselect-filter-dropdown').multiselect({ 
    enableCollapsibleOptGroups: true 
}); //init with required options 

$('#multiselect-filter-dropdown').multiselect('dataprovider', multiselectFilterDataProvider); //populate with required data 

$('#multiselect-filter-dropdown-wrapper ul.multiselect-container li:not(.multiselect-all):not(.multiselect-group)') 
.hide() 
.addClass('multiselect-collapsible-hidden'); //collapse required opt groups 
Verwandte Themen