jQuery从下拉列表中删除选项,给定选项的文本/值


73

我有一个下拉列表,希望从该列表中删除一个选项,因为它带有特定选项的文本/值。可以使用jQuery吗?就像“添加”将选项添加到下拉列表一样,是否有删除选项的功能?

我尝试搜索它,但是我得到的只是示例,其中删除了下拉列表中的整个选项集,这不是我想要的。

干杯

Answers:


157

$("option[value='foo']").remove();

或更好(如果页面中的选择很少):

$("#select_id option[value='foo']").remove();


1
如果foo是一个变量怎么办?语法将如何?
JeffJeffery

4
@JeffJaffery:$("option[value='" + foo + "']").remove();
Y. Shoham

1
谢谢@ Y.Shoham。这就是我使用它的方式$(#select_id).find('option [value ='+ foo +']')。remove();
JeffJeffery '16

@JeffJaffery:您的笔记尚不清楚它是否对您有用。但是,您必须#select_id像这样放撇号:jsfiddle.net/8txh9t52
Y. Shoham

24

定位下拉列表元素后

dropdownElement = $("#dropdownElement");

<option>使用JQuery属性选择器查找元素

dropdownElement.find('option[value=foo]').remove();

2
很好,谢谢!(无论走到哪里,我都找到了有关如何使用选择器选择单个选项的信息。考虑到您已经选择了下拉菜单,这似乎是更典型的用例,我正在寻找如何删除选项的信息。)
neminem

1
这是比上一个有效的答案:D
阿布·哈尼法

1
这就是我喜欢做的事情,第一次看到别人这样的纪律明确而干净。这种使用JQuery的方式还有其他资源吗?
jimjim


0

我知道已经很晚了,但是也可以使用以下方法:

<select id="type" name="type" >
    <option value="Permanent" id="permanent">I am here to stay.</option>
    <option value="toremove" id="toremove">Remove me!</option>
    <option value="Other" id="other">Other</option>
</select>

如果我必须删除第二个选项(id = toremove),脚本将如下所示

$('#toremove').hide();

0

首先找到特定选择的类名称。

$('#id').val('');
$('#selectoptionclassname').selectpicker('refresh');

0

我使用以上选项从2个下拉框中隐藏条目(首先选择城市,然后选择该城市内的区域)。它可以在屏幕上正常工作,但仍可以通过键盘输入选择隐藏选项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.