javascript - JQuery - 从 Selectbox 中删除所有选项,除了 first 和 selected

标签 javascript jquery html

我有一个带有多个选项的 html 选择框。选择一个选项后,我只想在选择选项下拉列表中显示所选选项和第一个选项。我知道如何过滤并只显示一个选项,但我不知道如何在“已选择”选项保持“已选择”的情况下包含这两个选项。我包含了类似于我的代码的片段以及演示。

HTML:

<select id="myDropdown">
<option selected>Select fruit</option>
<option>Grapes</option>
<option>Bananas</option>
<option>Oranges</option>
<option>Apples</option>
</select>

JS:

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

我正在尝试使用第一个选项来执行“更改时”的另一个功能,因此我需要选定的选项保持选中状态,同时过滤掉除第一个选项之外的其余选项。例如,如果选择了“橘子”,您将看到以下内容:

<select id="myDropdown">
     <option>Select fruit</option>
     <option>Oranges</option>  //selcted value
</select>

顺便说一句,我也在使用 jquery mobile 来设计样式。

jsfiddle

最佳答案

.not只需要 1 个参数。如果要过滤两个不同的选择器,可以在字符串内的它们之间添加一个逗号。您还可以使用 :selected选择器:

$('option', this).not(':eq(0), :selected').remove();

请参阅更新的 fiddle :http://jsfiddle.net/znx9hxvu/9/

关于javascript - JQuery - 从 Selectbox 中删除所有选项,除了 first 和 selected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31567620/

相关文章:

javascript - [ng-bootstrap] : Passing function to a modal threw a service

javascript - 加载共享库时出错 : libgbm. so.1:无法打开共享对象文件:AWS EC2 实例上 Nodejs 中的 Puppeteer

jquery - 使用 Jquery 翻转图像

javascript - 如何获取带有颜色列表的下拉菜单?

javascript - 将外部导航栏加载到多个 html 页面中

html - 如何将表格边框添加到 PrinceXML 生成的文件中?

html - Bootstrap 3 - 列的高度为 2 行

javascript - 将传单标记放置在圆周上的参数方程不精确?

javascript - 使用覆盖 promise 默认捕获实现

Javascript在对象数组内查找整数属性值