Fork me on GitHub

BsMultiselect

Multiselect JQuery Plugin for Bootstrap 4

dashboardcode.BsMultiSelect("#myElement");
$("#myElement").bsMultiSelect(); // jquery


Right-to-left bootstrap multiselect demo (campare with plain input):


On BS inline form:

درست
ضروری

Notes:

(1) Add dir="rtl" into DOM chierarchy, on any ancestor, e.g.:

 <form dir="rtl">...</form>

(2) Add rtl support to bootsrap; most probably if you use BS with RTL this step is allready done if not this patch is enough for BsMultiSelect:

 <style> [dir="rtl"] .custom-control.custom-checkbox{ margin-left: 0; margin-right: 1.5rem; } [dir="rtl"] .custom-control.custom-checkbox .custom-control-label::after, [dir="rtl"] .custom-control.custom-checkbox .custom-control-label::before{ left: auto; right: -1.5rem; } .was-validated .form-control:valid, .form-control.is-valid{ padding-right: 0.75rem; padding-left: calc(1.5em + 0.75rem); background-position: left calc(0.375em + 0.1875rem) center; } </style> 

(3) Patch the BS4 .was-validated problem - there are no way to exclude BS4 styling for concreate `.was-validated :valid` or `.was-validated :invalid` control:

 <style> .was-validated .dashboardcode-bsmultiselect .custom-control-input:valid:checked ~ .custom-control-label::before { border-color: var(--primary); background-color: var(--primary); } .was-validated .dashboardcode-bsmultiselect .custom-control-input:valid:not(:checked) ~ .custom-control-label::before { border-color: #adb5bd } </style>