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>