//下拉框 ;(function ($) { //下拉菜单默认参数 var defaluts = { select: 'mp_select', select_text: 'mp_select_text', select_ul: 'mp_select_ul', } $.fn.extend({ // 下拉菜单 // 下拉菜单 select: function (options) { var opts = $.extend({}, defaluts, options) return this.each(function () { var that = $(this) //模拟下拉列表 if (that.data('value') !== undefined && that.data('value') !== '') { that.val(that.data('value')) } var _html = [] _html.push('
') _html.push('
' + that.find(':selected').text() + '
') _html.push('') _html.push('
') var select = $(_html.join('')) var select_text = select.find('.' + opts.select_text) var select_ul = select.find('.' + opts.select_ul) that.after(select) that.hide() that.change(function () { var val = that.attr('data-value') that.children('option').each(function () { var option = $(this) if (val == option.val()) { select_text.text(option.text()) } }) }) //下拉列表操作 select.click(function (event) { $(this).toggleClass('mp_selected') $(this) .find('.' + opts.select_ul) .slideToggle() .end() .siblings('div.' + opts.select) .find('.' + opts.select_ul) .slideUp() event.stopPropagation() }) $('body').click(function () { select_ul.slideUp() }) select_ul.on('click', 'li', function () { var li = $(this) var val = li.addClass('selecton').siblings('li').removeClass('selecton').end().data('value').toString() if (val !== that.attr('data-value')) { select_text.text(li.text()) that.attr('data-value', val) that.change() } }) }) }, }) })(jQuery)