Jquery 如何从下拉列表中删除除第一个外的所有条目

Jquery 如何从下拉列表中删除除第一个外的所有条目,jquery,Jquery,我的下拉列表html显示如下 <select id="models" "> <option id = "remove" value="">--Select--</option> <option id = "remove" value="0">R8</option> <option id = "remove" value="1">Quattro</option> <option

我的下拉列表html显示如下

<select id="models" ">
    <option id = "remove" value="">--Select--</option>
    <option id = "remove" value="0">R8</option>
    <option id = "remove" value="1">Quattro</option>
    <option id = "remove" value="2">A6 hatchback</option>
</select>
我知道如何删除下拉列表中的所有条目,并按照下面的代码再次添加新数据

$.getJSON('@Url.Action("YourUrl")',function(data){

     var dropdown=$('#models');
    dropdown.empty();  
    $.each(data, function (index, item) {
        dropdown.append(
            $('<option>', {
                value: item.valueField,
                text: item.DisplayField
            }, '</option>'))
          }
         )});
但我想知道,当从下拉列表中删除所有其他项时,如何保持此行-选择

首先,请不要重复id值,这会导致JavaScript混淆,但可以通过类来实现。其次,您可以使用:

$("option:not(:first)").remove();
还要注意,您没有正确关闭标记:

<select id="models" ">
<!------------------^ remove this
-挑选- R8 夸特罗 A6掀背车 首先,不要复制id值,这会导致JavaScript混淆,但可以通过类来实现。其次,您可以使用:

$("option:not(:first)").remove();
还要注意,您没有正确关闭标记:

<select id="models" ">
<!------------------^ remove this
-挑选- R8 夸特罗 A6掀背车
您可以使用选择器筛选出值为空字符串的项:

$("#models option:not([value=''])").remove();

这可确保无论空值选项位于哪个索引,都将删除所有其他选项。

您可以使用选择器筛选出值为空字符串的项目:

$("#models option:not([value=''])").remove();
这将确保无论空值选项位于哪个索引,都将删除所有其他选项。

尝试使用:gt选择器和参数0,用className remove替换选项元素处的重复ID remove

$models选项:gt0.remove -挑选- R8 夸特罗 A6掀背车 尝试使用参数为0的:gt选择器,用className remove替换选项元素处的重复ID remove

$models选项:gt0.remove -挑选- R8 夸特罗 A6掀背车
对于整个文档$'models选项:gt0',id值应该是唯一的。删除;更快:$'models.get0.options.length=1@哇。这是做什么的呢?它删除了除firstid值之外的所有选项。firstid值对于整个文档$'models选项:gt0应该是唯一的。删除;更快:$'models.get0.options.length=1@哇。这有什么作用?它会删除除第一个选项之外的所有选项