/* * bootstrap-select.js */ (function($) { 'use strict'; // jshint ;_; $.fn.dropSelect = function(option) { return this.each(function() { var $this = $(this); var display = $this.find('.dropdown-display'); // display span var field = $this.find('input.dropdown-field'); // hidden input var options = $this.find('ul.dropdown-menu > li > a');// select options // when the hidden field is updated, update dropdown-toggle var onFieldChange = function(event) { var val = $(this).val(); var displayText = options.filter("[data-value='" + val + "']").html(); display.html(displayText); }; // when an option is clicked, update the hidden field var onOptionClick = function(event) { // stop click from causing page refresh event.preventDefault(); field.val($(this).attr('data-value')); field.change(); }; field.change(onFieldChange); options.click(onOptionClick); }); }; // invoke on every div element with 'data-select=true' $(function() { $('div[data-select=true]').dropSelect(); }); })(window.jQuery);