我有这 4 个下拉菜单,我将使用它在我的网站上设置高级搜索。我不是 javascript 程序员,所以我需要帮助来简化代码。我为我的 4 个字段拆分了 4 次代码,但我有一个错误,一个变量覆盖了之前设置的其他 3 个。肯定有一种简单的方法可以用一半的代码来做我需要的事情。这是我的环境http://jsfiddle.net/4K7L7/3/
function DropDown(el) {
this.dd = el;
this.placeholder = this.dd.children('span');
this.opts = this.dd.find('ul.dropdown > li');
this.val = '';
this.index = -1;
this.initEvents();
}
DropDown.prototype = {
initEvents : function() {
var obj = this;
obj.dd.on('click', function(event){
$(this).toggleClass('active');
return false;
});
obj.opts.on('click',function(){
var opt = $(this);
obj.val = opt.text();
obj.index = opt.index();
obj.placeholder.text('Tipo: ' + obj.val);
});
},
getValue : function() {
return this.val;
},
getIndex : function() {
return this.index;
}
}
$(function() {
var dd = new DropDown( $('#dd') );
$(document).click(function() {
// all dropdowns
$('.wrapper-dropdown-1').removeClass('active');
});
});