Dual Listbox
Make your multi select pretty and easy to use with only javascript. No other frameworks/libraries required.
Styling. (From the stylesheet that can be found in the dist folder)
with selected options and one option highlighted.
Install
Install with npm
$ npm i dual-listbox --save
CDN
<script src="https://cdn.jsdelivr.net/npm/dual-listbox/dist/dual-listbox.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/dual-listbox/dist/dual-listbox.css">
<script src="https://cdn.jsdelivr.net/npm/dual-listbox@1.0.8/dist/dual-listbox.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/dual-listbox@1.0.8/dist/dual-listbox.css">
Usage
let dualListbox = new DualListbox('select');
let dualListbox = new DualListbox('.select');
let dualListbox = new DualListbox('#select');
let select = document.querySelector('#select');
let dualListbox = new DualListbox(select);
You can also pass some options to the DualListbox
let dualListbox = new DualListbox('#select', {
addEvent: function(value) {
console.log(value);
},
removeEvent: function(value) {
console.log(value);
},
availableTitle: 'Different title',
selectedTitle: 'Different title',
addButtonText: '>',
removeButtonText: '<',
addAllButtonText: '>>',
removeAllButtonText: '<<',
options: [
{text:"Option 1", value: "OPTION1"},
{text:"Option 2", value: "OPTION2"},
{text:"Selected option", value: "OPTION3", selected:true}
]
});
dualListbox.addEventListener('added', function(event){
console.log(event);
console.log(event.addedElement);
});
dualListbox.addEventListener('removed', function(event){
console.log(event);
console.log(event.removedElement);
});
Try it online on JSFiddle.
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Author
Maykin Media
License
Copyright © 2016 Maykin Media
Licensed under the MIT license.