【问题标题】:remove all options from select jquery but only one从选择 jquery 中删除所有选项,但只有一个
【发布时间】:2013-09-22 21:20:07
【问题描述】:

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

<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,.... 选择 + 最后一个 &lt;option value="0"&gt;Autre...&lt;/option&gt;

【问题讨论】:

  • 非常感谢您提出这个问题。我浪费了 2 天时间来处理多个动态选择框,由于某些愚蠢的原因,当他们设计选择时,他们没有添加只读选项。

标签: javascript jquery removeall


【解决方案1】:

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

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

FIDDLE

【讨论】:

  • 谢谢。我对这段代码的需求更多地涉及从以stream.pipe为首的连接和缩小过程中排除文件,但它仍然向我展示了我需要排除它的内容:$('script[src!="variables.json"]').remove();非常感谢! -C§
【解决方案2】:

试试

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

演示:Fiddle

【讨论】:

    【解决方案3】:
    $('#lstCities option[value!=0]').remove()
    

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

    【讨论】:

      【解决方案4】:

      如果选项总是最后一个,希望这段 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,
      }));
      

      从这个post学习

      【讨论】:

        【解决方案5】:

        这对我有用:

        $("#selectList option").remove();
        

        【讨论】:

        • 对于发布与本文无关的代码,我深表歉意。我的代码用于删除选择列表中的所有项目。如果你想保留一个,参考上面的建议。请注意,选项就像数组或字符串的索引 - 值从 0 开始。
        猜你喜欢
        • 1970-01-01
        • 2010-11-09
        • 2021-07-23
        • 1970-01-01
        • 2016-06-19
        • 1970-01-01
        • 2015-06-09
        • 2012-12-16
        • 2010-09-08
        相关资源
        最近更新 更多