这是一个奇怪的,但我们的开发人员离开了,明天我的客户正在进行网站演示 在网页上,一个下拉列表具有以下值。有没有办法使用script / css我们的设计师可以隐藏复制的值并只显示1-9一次?非常感谢。
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
答案 0 :(得分:5)
试试这个:
var usedNames = {};
$("select > option").each(function () {
if(usedNames[this.text]) {
$(this).remove();
} else {
usedNames[this.text] = this.value;
}});
<强> Working Demo 强>
答案 1 :(得分:0)
您可以使用 :gt() 选择器:
$('select option:gt(8)').hide();
答案 2 :(得分:0)
你可以使用jQuery删除dups,如下所示:
var found = [];
$("select option").each(function() {
if($.inArray(this.value, found) != -1) $(this).remove();
found.push(this.value);
});
保留一系列已找到的值,如果在数组中找不到值,则添加.push()
,如果找到,则将其添加为.remove()
。
答案 3 :(得分:-1)
试试这个......
$('select option').each(function(i)){
if(i >= 9)
$(this).remove();
});