14

我有一个包含这些值的选择:

<select id="lstCities" class="valid" name="City">
<option value="OSNY">OSNY</option>
<option value="dd">dd</option>
<option value="OSffNY">OSffNY</option>
<option value="ANTONY">ANTONY</option>
<option value="0">Autre...</option>
</select>

如何删除所有选项,但我只想保留

 <option value="0">Autre...</option>

我的问题是我的列表是动态的,有时我有 3,5,7,.... 选择 + 最后一个<option value="0">Autre...</option>

4

5 回答 5

42

选择所有选项,然后排除具有该值的选项:

$('#lstCities option[value!="0"]').remove();

小提琴

于 2013-09-18T08:00:18.950 回答
8

尝试

$('#lstCities option:lt(-1)').remove()

演示:小提琴

于 2013-09-18T07:58:49.530 回答
4
$('#lstCities option[value!=0]').remove()

您应该按值删除,而不是依赖选项元素的位置来保留。

于 2013-09-18T08:01:44.507 回答
2

如果选项总是最后一个,我希望这段 JavaScript 代码可以帮助你:

var lastNode = $("#lstCities option").last();
var option = { value:lastNode.val(), text:lastNode.text() };

$('#lstCities').find('option').remove().end().append($('<option>',{
        value:option.value,
        text:option.text,
}));

从这个帖子学习

于 2013-09-18T09:24:34.950 回答
0

这对我有用:

$("#selectList option").remove();
于 2017-10-17T03:07:53.500 回答