【发布时间】:2016-07-24 09:48:30
【问题描述】:
我已经使用无序列表构建了一个下拉列表。
看起来像这样:
<div id="dd" class="wrapper-dropdown" tabindex="1">
<span>Default Option</span>
<ul class="dropdown">
<li><a href="#"><i></i>Default Option</a></li>
<li><a href="#"><i></i>Option 1</a></li>
<li><a href="#"><i></i>Option 2</a></li>
<li><a href="#"><i></i>Option 3</a></li>
<li><a href="#"><i></i>Option 4</a></li>
</ul>
</div>
然后我使用这个 javascript 函数使其表现为下拉列表:
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(){
obj.opts.show();
$(this).hide();
var opt = $(this);
obj.val = opt.text();
obj.index = opt.index();
obj.placeholder.text(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').removeClass('active');
});
});
我想要实现的是让所选选项从下拉菜单中消失,这样它就不会像现在这样重复(选择选项 1 不会将其从列表中删除) 任何人都可以提出一种无需重建 javascript 的方法吗?
谢谢大家
【问题讨论】:
-
所以您想删除单击的选项,但如果它是默认选项则不删除?
标签: javascript jquery list selecteditem dropdown