Choices.js is a vanilla JavaScript plugin that converts the normal
select or input into customizable select inputs with multi-select
and autocomplete support.
Javascript
<!-- choices.js -->
<script type='text/javascript' src='assets/libs/choices.js/public/assets/scripts/choices.min.js'></script>
Note
Choices js file is loaded in <script src="assets/js/plugins.js"></script>.
Initjs (Custom js)
<!-- app js -->
<script src="assets/js/app.js"></script>
Add Package
yarn add choices.js --save
Remove Package
yarn remove choices.js or you can remove package by removing
specific package from package.json
Examples:
Title |
HTML |
Default Choice |
<select class="form-control" data-choices name="choices-single-default">
<option value="">This is a placeholder</option>
<option value="Choice 1">...</option>
<option value="Choice 2">...</option>
</select>
|
Option Groups |
<select class="form-control" data-choices data-choices-groups data-placeholder="Select City" name="choices-single-groups">
<option value="">Choose a city</option>
<optgroup label="UK">
<option value="London">London</option>
<option value="Manchester">Manchester</option>
<option value="Liverpool">Liverpool</option>
</optgroup>
<optgroup label="Country">
<option value="...">...</option>
<option value="...">...</option>
<option value="...">...</option>
</optgroup>
</select>
|
Options added with no search |
<select class="form-control" name="choices-single-no-search" data-choices data-choices-search-false data-choices-removeItem>
<option value="Zero">Zero</option>
<option value="One">One</option>
<option value="...">...</option>
</select>
|
Options added with no sorting |
<select class="form-control" name="choices-single-no-sorting" data-choices data-choices-sorting-false>
<option value="Madrid">Madrid</option>
<option value="Toronto">Toronto</option>
<option value="Vancouver">Vancouver</option>
<option value="London">London</option>
<option value="Manchester">Manchester</option>
<option value="...">...</option>
</select>
|
Default Multiple Select |
<select class="form-control" data-choices name="choices-multiple-default" multiple>
<option value="Choice 1" selected>Choice 1</option>
<option value="Choice 2">Choice 2</option>
<option value="...">...</option>
<option value="..." disabled>...</option>
</select>
|
Multiple Select with remove button |
<select class="form-control" data-choices data-choices-removeItem name="choices-multiple-remove-button"multiple>
<option value="Choice 1" selected>Choice 1</option>
<option value="Choice 2">Choice 2</option>
<option value="...">...</option>
</select>
|
Multiple Select with options group. |
<select class="form-control" name="choices-multiple-groups" data-choices data-choices-multiple-groups="true" multiple>
<option value="">Choose a city</option>
<optgroup label="UK">
<option value="London">London</option>
<option value="Manchester">Manchester</option>
<option value="Liverpool">Liverpool</option>
</optgroup>
<optgroup label="Country">
<option value="...">...</option>
<option value="...">...</option>
<option value="...">...</option>
</optgroup>
</select>
|
Choices select limit with text input & removebutton
|
<input class="form-control" data-choices data-choices-limit="your required limit" data-choices-removeItem type="text"value="Task-1" />
|
Choices unique value only, no pasting |
<input class="form-control" data-choices data-choices-text-unique-true type="text" value="Project-A, Project-B" />
|
Choices with disable option |
<input class="form-control" data-choices data-choices-text-disabled-true type="text" value="josh@joshuajohnson.co.uk, joe@bloggs.co.uk" />
|