Ich verwende bootstrap's multiselect mit enableCollapsibleOptGroups
auf True festgelegt.Wie kann ich Bootstrap Multiselect optgroups standardmäßig reduzieren?
Was ich habe jetzt:
Ich möchte optgroups standardmäßig reduziert haben:
Ich verwende bootstrap's multiselect mit enableCollapsibleOptGroups
auf True festgelegt.Wie kann ich Bootstrap Multiselect optgroups standardmäßig reduzieren?
Was ich habe jetzt:
Ich möchte optgroups standardmäßig reduziert haben:
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);
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>
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
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
Danke für die Hilfe trotzdem! – Aboelseoud
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. –