bootstrap-select position issue
by Twisty
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://rawgit.com/silviomoreto/bootstrap-select/b53f8c7d5a0a3799d8337c68eb86f38fafef5a7f/dist/css/bootstrap-select.min.css">
<script src="https://rawgit.com/silviomoreto/bootstrap-select/b53f8c7d5a0a3799d8337c68eb86f38fafef5a7f/dist/js/bootstrap-select.min.js"></script>
<script src="https://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<select id="myselect" class="selectpicker" multiple data-size="5" data-selected-text-format="count>2" multiple>
<option value="All">All</option>
<option value="EC" selected>EC (Early Childhood)</option>
<option value="E">E (Everyone)</option>
</select>
JavaScript
function toggleSelectAll(control) {
var allOptionIsSelected = (control.val() || []).indexOf("All") > -1;
function valuesOf(elements) {
return $.map(elements, function(element) {
return element.value;
});
}
if (control.data('allOptionIsSelected') != allOptionIsSelected) {
if (allOptionIsSelected) {
control.selectpicker('val', valuesOf(control.find('option')));
} else {
control.selectpicker('val', []);
}
} else {
if (allOptionIsSelected && control.val().length != control.find('option').length) {
control.selectpicker('val', valuesOf(control.find('option:selected[value!=All]')));
allOptionIsSelected = false;
} else if (!allOptionIsSelected && control.val().length == control.find('option').length - 1) {
control.selectpicker('val', valuesOf(control.find('option')));
allOptionIsSelected = true;
}
}
control.data('allOptionIsSelected', allOptionIsSelected);
}
$(function() {
$('#myselect').selectpicker();
$("#myselect").change(function() {
if ($(this).find("option:selected").val() === "All") {
toggleSelectAll($(this));
}
});
});