bootstrap-select.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * bootstrap-select.js
  3. */
  4. (function($) {
  5. 'use strict'; // jshint ;_;
  6. $.fn.dropSelect = function(option) {
  7. return this.each(function() {
  8. var $this = $(this);
  9. var display = $this.find('.dropdown-display'); // display span
  10. var field = $this.find('input.dropdown-field'); // hidden input
  11. var options = $this.find('ul.dropdown-menu > li > a');// select options
  12. // when the hidden field is updated, update dropdown-toggle
  13. var onFieldChange = function(event) {
  14. var val = $(this).val();
  15. var displayText = options.filter("[data-value='" + val + "']").html();
  16. display.html(displayText);
  17. };
  18. // when an option is clicked, update the hidden field
  19. var onOptionClick = function(event) {
  20. // stop click from causing page refresh
  21. event.preventDefault();
  22. field.val($(this).attr('data-value'));
  23. field.change();
  24. };
  25. field.change(onFieldChange);
  26. options.click(onOptionClick);
  27. });
  28. };
  29. // invoke on every div element with 'data-select=true'
  30. $(function() {
  31. $('div[data-select=true]').dropSelect();
  32. });
  33. })(window.jQuery);