//下拉框
;(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('
')
that.children('option').each(function () {
var option = $(this)
if (that.data('value') == option.val()) {
_html.push('- ' + option.text() + '
')
} else {
_html.push('- ' + option.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)