A
V
Multi-Select Dropdown: Flexible & Intuitive
Enhance Your Forms with a User-Friendly Selection Component
Our multi-select dropdown component allows users to choose multiple options effortlessly. Ideal for forms, filters, and settings, it improves usability by providing a clean and interactive selection experience.
Key Features:
- Responsive Design: Works seamlessly across different devices, ensuring a smooth user experience.
- Searchable Options: Quickly find and select items from large lists using the built-in search functionality.
- Custom Styling: Easily modify colors, borders, and fonts to align with your brand’s theme.
- Tag-Based Selection: Selected items are displayed as tags, allowing users to see and remove choices conveniently.
- Keyboard Navigation: Supports arrow keys and shortcuts for enhanced accessibility and efficiency.
General Multiselect
This is a general multiselect dropdown that allows users to select multiple options from a list. It is commonly used in forms, filters, and settings where multiple selections are required.
<div class="multiselect-container"> <div id="flatArrayMultiselect"> <div class="multiselect-input PnRe"> <input type="text" class="TtBx" placeholder="Select options" readonly> </div> </div> </div>
document.addEventListener('DOMContentLoaded', function () { // Demo data const dataArray = [ { key: "Option 1" }, { key: "Option 2" }, { key: "Option 3" }, { key: "Option 4" }, { key: "Option 5" }, { key: "Option 6" }, { key: "Option 7" } ]; // Array Multiselect CT.CeMiSt({ containerId: 'flatArrayMultiselect', data: dataArray, closeWhenSelected: true, dropDownHeight: '150px', customCss: { optionFontSize: '12px', optionFontWeight: '600', optionColor: '#FFFFFF', optionBorder: '1px solid #989898', optionBackground: '#000000', optionPadding: '8px', optionHoverBackground: 'lightblue', optionHoverColor: '#000000', chipBorder: '1px solid #000000', chipColor: '#000000', chipBackgroundColor: '#FFC300', }, cb: (item) => { console.log(item); } }); });
Multiselect with preselect values
This multiselect dropdown comes with preselected values, allowing users to quickly see their current selections. It is useful for scenarios where default options are commonly chosen.
<div class="multiselect-container"> <div id="preselectedMultiselect"> <div class="multiselect-input PnRe"> <input type="text" class="TtBx" placeholder="Select options" readonly> </div> </div> </div>
document.addEventListener('DOMContentLoaded', function () { const objectArray = [ { key: "Option 1", cat: "Group 1" }, // key, category { key: "Option 2", cat: "Group 1" }, { key: "Option 3", cat: "Group 1" }, { key: "Option 4", cat: "Group 2" }, { key: "Option 5", cat: "Group 2" }, { key: "Option 6", cat: "Group 2" }, { key: "Option 7", cat: "Group 2" } ]; const selectedValues = [ { key: "Option 1", cat: "Group 1" }, { key: "Option 2", cat: "Group 1" } ]; // Preselected Multiselect CT.CeMiSt({ containerId: 'preselectedMultiselect', data: objectArray, displayValue: 'key', selectedValues: selectedValues, cb: (item) => { console.log(item); } }); });
Disable preselected values
This multiselect dropdown allows you to disable certain preselected values, preventing users from selecting them again. This is useful for scenarios where certain options should remain unchangeable.
<div class="multiselect-container"> <div id="disabledMultiselect"> <div class="multiselect-input PnRe"> <input type="text" class="TtBx" placeholder="Select options" readonly> </div> </div> </div>
document.addEventListener('DOMContentLoaded', function () { const objectArray = [ { key: "Option 1", cat: "Group 1" }, // key, category { key: "Option 2", cat: "Group 1" }, { key: "Option 3", cat: "Group 1" }, { key: "Option 4", cat: "Group 2" }, { key: "Option 5", cat: "Group 2" }, { key: "Option 6", cat: "Group 2" }, { key: "Option 7", cat: "Group 2" } ]; const selectedValues = [ { key: "Option 1", cat: "Group 1" }, { key: "Option 2", cat: "Group 1" } ]; // Disabled Multiselect CT.CeMiSt({ containerId: 'disabledMultiselect', data: objectArray, displayValue: 'key', selectedValues: selectedValues, disableValues: [ { key: "Option 1", cat: "Group 1" }, { key: "Option 2", cat: "Group 1" } ], cb: (item) => { console.log(item); } }); });
Multiselect with checkbox
This multiselect dropdown includes checkboxes for each option, allowing users to select multiple items easily. It is ideal for scenarios where users need to make multiple selections from a list.
<div class="multiselect-container"> <div id="checkboxMultiselect"> <div class="multiselect-input PnRe"> <input class="TtBx" type="text" placeholder="Select options" readonly> </div> </div> </div>
document.addEventListener('DOMContentLoaded', function () { const objectArray = [ { key: "Option 1", cat: "Group 1" }, // key, category { key: "Option 2", cat: "Group 1" }, { key: "Option 3", cat: "Group 1" }, { key: "Option 4", cat: "Group 2" }, { key: "Option 5", cat: "Group 2" }, { key: "Option 6", cat: "Group 2" }, { key: "Option 7", cat: "Group 2" } ]; CT.CeMiSt({ containerId: 'checkboxMultiselect', data: objectArray, displayValue: 'key', showCheckbox: true, cb: (item) => { console.log(item); } }); });
Multiselect with grouping
This multiselect dropdown allows you to group options into categories, making it easier for users to navigate and select items. It is useful for scenarios where options can be logically categorized.
<div class="multiselect-container"> <div id="groupMultiselect"> <div class="multiselect-input PnRe"> <input type="text" class="TtBx" placeholder="Select options" readonly> </div> </div> </div>
document.addEventListener('DOMContentLoaded', function () { const objectArray = [ { key: "Option 1", cat: "Group 1" }, // key, category { key: "Option 2", cat: "Group 1" }, { key: "Option 3", cat: "Group 1" }, { key: "Option 4", cat: "Group 2" }, { key: "Option 5", cat: "Group 2" }, { key: "Option 6", cat: "Group 2" }, { key: "Option 7", cat: "Group 2" } ]; // Grouped Multiselect CT.CeMiSt({ containerId: 'groupMultiselect', data: objectArray, displayValue: 'key', groupBy: 'cat', showCheckbox: true, cb: (item) => { console.log(item); } }); });
Multiselect with selection limit Ex:2
This multiselect dropdown allows you to set a limit on the number of selections users can make. It is useful for scenarios where only a certain number of options should be selected at a time.
<div class="multiselect-container"> <div id="limitMultiselect"> <div class="multiselect-input PnRe"> <input type="text" class="TtBx" placeholder="Select options" readonly> </div> </div> </div>
document.addEventListener('DOMContentLoaded', function () { const objectArray = [ { key: "Option 1", cat: "Group 1" }, // key, category { key: "Option 2", cat: "Group 1" }, { key: "Option 3", cat: "Group 1" }, { key: "Option 4", cat: "Group 2" }, { key: "Option 5", cat: "Group 2" }, { key: "Option 6", cat: "Group 2" }, { key: "Option 7", cat: "Group 2" } ]; // Selection Limit Multiselect CT.CeMiSt({ containerId: 'limitMultiselect', data: objectArray, displayValue: 'key', selectionLimit: 2, cb: (item) => { console.log(item); } }); });
Custom placeholder
This multiselect dropdown allows you to set a custom placeholder text, providing users with a clear indication of what to do. It is useful for scenarios where you want to guide users on how to use the component.
<div class="multiselect-container"> <div id="placeholderMultiselect"> <div class="multiselect-input PnRe"> <input type="text" class="TtBx" placeholder="Select options" readonly> </div> </div> </div>
document.addEventListener('DOMContentLoaded', function () { const objectArray = [ { key: "Option 1", cat: "Group 1" }, // key, category { key: "Option 2", cat: "Group 1" }, { key: "Option 3", cat: "Group 1" }, { key: "Option 4", cat: "Group 2" }, { key: "Option 5", cat: "Group 2" }, { key: "Option 6", cat: "Group 2" }, { key: "Option 7", cat: "Group 2" } ]; // Custom Placeholder Multiselect CT.CeMiSt({ containerId: 'placeholderMultiselect', data: objectArray, displayValue: 'key', placeholder: 'Custom Placeholder', cb: (item) => { console.log(item); } }); });
CSS Customization
This is customized multiselect dropdown that allows you to apply custom CSS styles to the options and chips. It is useful for scenarios where you want to match the component's appearance with your application's design.
<div class="multiselect-container"> <div id="customStyleMultiselect"> <div class="multiselect-input PnRe"> <input type="text" class="TtBx" placeholder="Select options" readonly> </div> </div> </div>
document.addEventListener('DOMContentLoaded', function () { const objectArray = [ { key: "Option 1", cat: "Group 1" }, // key, category { key: "Option 2", cat: "Group 1" }, { key: "Option 3", cat: "Group 1" }, { key: "Option 4", cat: "Group 2" }, { key: "Option 5", cat: "Group 2" }, { key: "Option 6", cat: "Group 2" }, { key: "Option 7", cat: "Group 2" } ]; // CSS Customization Multiselect CT.CeMiSt({ containerId: 'customStyleMultiselect', data: objectArray, displayValue: 'key', customStyle: true, customCss: { option: 'Br1', chipColor: '#000000', chipBackgroundColor: '#FFC300', }, cb: (item) => { console.log(item); } }); });
Close Icons
You can customize the close icon in the multiselect dropdown. This allows you to use different icons or styles for closing the dropdown, enhancing the user experience.
<div class="multiselect-container"> <div id="customStyleMultiselect"> <div class="multiselect-input PnRe"> <input type="text" class="TtBx" placeholder="Select options" readonly> </div> </div> </div>
document.addEventListener('DOMContentLoaded', function () { const objectArray = [ { key: "Option 1", cat: "Group 1" }, // key, category { key: "Option 2", cat: "Group 1" }, { key: "Option 3", cat: "Group 1" }, { key: "Option 4", cat: "Group 2" }, { key: "Option 5", cat: "Group 2" }, { key: "Option 6", cat: "Group 2" }, { key: "Option 7", cat: "Group 2" } ]; // Close Icons Multiselect CT.CeMiSt({ containerId: 'iconsMultiselect', data: objectArray, displayValue: 'key', selectedValues: selectedValues, closeIcon: '✕', cb: (item) => { console.log(item); } }); });