JQuery - 从Selectbox中删除除first和selected之外的所有选项

bos*_*570 6 html javascript jquery

我有一个带有几个选项的html选择框.选择一个选项后我想要只选择选项,并在选择选项下拉列表中显示第一个选项.我知道如何过滤并只显示一个选项,但我无法弄清楚如何在"选定"选项保持"选中"的情况下包含这两个选项.我包含了与我的代码类似的代码段以及演示.

HTML:

<select id="myDropdown">
<option selected>Select fruit</option>
<option>Grapes</option>
<option>Bananas</option>
<option>Oranges</option>
<option>Apples</option>
</select>
Run Code Online (Sandbox Code Playgroud)

JS:

$(document).on('change', '#myDropdown', function() {
    $('option', this).not(this,'option:gt(0)').siblings().remove(); });
Run Code Online (Sandbox Code Playgroud)

我试图使用第一个选项来执行另一个'on change'功能,所以我需要选择的选项保持选中状态,其余的被过滤除了第一个.例如,如果选择了"橘子",您会看到:

<select id="myDropdown">
     <option>Select fruit</option>
     <option>Oranges</option>  //selcted value
</select>
Run Code Online (Sandbox Code Playgroud)

BTW我也使用jquery mobile来设计风格.

的jsfiddle

Str*_*ner 19

.not只需要1个参数.如果要对两个不同的选择器进行过滤,可以在字符串中添加逗号.您还可以使用:selected选择器:

$('option', this).not(':eq(0), :selected').remove();
Run Code Online (Sandbox Code Playgroud)

请参阅更新的小提琴:http://jsfiddle.net/znx9hxvu/9/