Lightweight Drilldown Menu Plugin with jQuery and Bootstrap
| File Size: | 23.7 KB |
|---|---|
| Views Total: | 9466 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
A lightweight jQuery plugin which help you create a highly customizable multilevel drill down menu / select using Bootstrap dropdown component.
Basic usage:
1. Include the Bootstrap Drilldown Select plugin's JavaScript and CSS files into your web project. Be sure that you first have jQuery library and Bootstrap framework installed.
<link rel="stylesheet" href="bootstrap-drilldown-select.css"> <script src="js/bootstrap-drilldown-select.js"></script>
2. The html structure.
<button id="drilldown1" class="btn btn-default btn-block drilldown"
data-toggle="dropdown">
<span class="text" placeholder="Select...">Test</span>
</button>
3. Prepare your menu data in the JavaScript. The data structure should be like this:
var data = [
{
"id": 0,
"name": "Will choose later"
},
{
"id": 999999,
"name": "I have my own option"
},
{
"id": 1,
"name": "Option 1",
"list": [
{"id": 1, "name": "Sub 1", "list": [
{"id": 1, "name": "Sub 1"},
{"id": 2, "name": "Sub 2"},
{"id": 3, "name": "Sub 3"},
]},
{"id": 2, "name": "Sub 2"},
{"id": 3, "name": "Sub 3"},
]
},
{
"id": 2,
"name": "Option 2",
"list": [
{"id": 1, "name": "Option 2 - Sub 1"},
{"id": 2, "name": "Option 2 - Sub 2"},
{"id": 3, "name": "Option 2 - Sub 3"},
]
},
{
"id": 3,
"name": "Option 3",
"list": [
{"id": 1, "name": "Option 3 - Sub 1"},
{"id": 2, "name": "Option 3 - Sub 2"},
{"id": 3, "name": "Option 3 - Sub 3"},
]
}
]
4. Initialize the plugin and inject the data into the drill down menu / select.
$('#drilldown1').drilldownSelect({
data: data
});
5. Default options for the plugin.
$('#drilldown1').drilldownSelect({
// if you don't put it inside fo some "row" - you must set left spacing
left: 15,
// height of the drilldown
height: 200,
// an array of data
data: [],
// name of key parameter in data array
keyName: 'id',
// name of value parameter in data array
valueName: 'name',
// name of list parameter in data array
listName: 'list',
// name of the active parameter in data array
activeName: 'active',
// append value or replace it
appendValue: true,
// text for go back link
textBack: 'Back...',
// text for the disabled items
textDisabled: '',
// show all path to the child
showPath: true,
// a separator to the path items
pathSeparator: '<b> > </b>',
/** function that will be called when an element be unselected**/
onUnselect: function() {
alert('unselected');
},
// called on select
onSelected: function(event) {
alert($(event.target).data('id'));
}
});
Change log:
2016-06-11
- A callback to know when an item is unselected.
- An option to show the full path of an item that has parent items.
This awesome jQuery plugin is developed by vyarmak. For more Advanced Usages, please check the demo page or visit the official website.











