Multi-Select & Autocomplete Dropdown Plugin For jQuery - MSelectDialogBox
| File Size: | 61.9 KB |
|---|---|
| Views Total: | 47306 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
MSelectDialogBox is a jQuery plugin that attaches a dropdown list with capabilities of multi select and autocomplete to any DOM elements (e.g. input fields) when getting focused.
How to use it:
1. Add the jQuery MSelectDialogBox plugin along with the latest jQuery library to your webpage.
<script src="/path/to/cdn/jquery.min.js"></script> <script src="/path/to/js/MSelectDBox.js"></script>
2. Call the function to attach a default dropdown list to your input field.
<input id="example" type="text">
$("#example").mSelectDBox({
"list": [] // Array of list items
});
3. All possible configuration options.
$("#example").mSelectDBox({
// Array of list items
// ["Apple", "Orange", "Banana"];
// [{"label": "Apple", "value": "0"}, {"label": "Orange", "value": "1"}, {"label": "banana", "value": "2"}]
"list": [],
// enable multiple select
"multiple": true,
// enable autocomplete
"autoComplete": true,
// Name of instance.
"name": "a",
// autocomplete filters.
optionFilters: $.prototype.mSelectDBox.prototype.defaultOptionFilters.default,
// enable live search
embeddedInput: true,
// z-index property
zIndex: 9999,
// width
width: '300px',
// shows close button
closeButton: true,
// true or false
exceptDisabled: true,
// language
language: 'en',
// open on focus
openOnFocus: true,
// allows you to add custom options
freeWrite: false,
});
4. Callback functions.
$("#example").mSelectDBox({
// Fires when text input was changed
"onchange": function(msdbContext, event){},
// Fires when list item is selected
"onselect": function(msdbContext, event){},
// Fires when text input become empty
"input:empty": function(msdbContext, event){}
// Fires onkeydown event
"onkeydown": function(msdbContext, event){}
// Fires onkeyup event
"onkeyup": function(msdbContext, event){}
// Fires when text input become empty
"input:empty": function(msdbContext, event){}
// Fires when element gets focused
"focus": function(msdbContext, event){}
// Fires when element loss focused
"focusout": function(msdbContext, event){}
});
5. API methods.
getInstances(Object arg): Search initialized instances by name. Return array of matched instances.trigger(String eventName): Fires predefined event.on(String eventName, Function callback): Add custom event listener.select(Object arg): Select list items by value or label.selectAll: Only if multiple = true.deselectAll: Deselect all items.open: Show list box.close: Hide list box.isActive: Return true if list box is visible.get(String key): Returns property of MSelectDBox instanceset(String key, Any value): Sets new or update property of MSelectDBox instance
6. Events.
- init: fires when instance initialized
- onselect: fires when list item is selected
- onchange: fires when text input was changed
- onkeydown: same as original onkeydown event
- onkeyup: same as original onkeyup event
- input:empty: fires when text input become empty
- autocomplete:empty: fires when autocomplete function results empty list
- autocomplete:not-empty: fires when autocomplete function results not empty list
- focus: you know... focus
- focusout: same as blur
- set: Fires when calling set method. Example: instance.set("fieldName", 100);
- set:field: Fires when calling "set" method with specified key. Example: instance.set("field", 100);
- get: Fires when calling "get" method. Example: instance.get("fieldName");
- get:field: Fires when calling "get" method with specified key. Example: instance.get("field", 100);
- afterSet:field: Fires after "get" method was called with specified key. The event ensures that the function will be executed after the assignment and will have access to new value;
- beforeSet:field: Fires before "get" method will be called with specified key.
Changelog:
2021-03-27
- Added more options.
2021-03-27
- Added more options.
2017-06-04
- add: event "autocomplete:empty"
- add: event "autocomplete:not-empty"
2017-05-20
- fix: iss5
2017-01-25
- bugfix
2017-01-08
- v1.1
2016-10-03
- JS refactor.
2016-09-02
- fix: CustomEvent, Event in old browsers
2016-09-01
- allows tap to close
2016-04-29
- bugfix
2016-04-27
- JS+demo update.
2016-03-23
- bugfix
2016-02-29
- fix: open/calcPosition();
2016-02-15
- fix: event/change
2016-02-13
- fix: constructor/arg.events
2016-02-02
- Added get,set events
This awesome jQuery plugin is developed by eugenegantz. For more Advanced Usages, please check the demo page or visit the official website.











