如何获取上一个/下一个非禁用选项的索引(相对于所选选项)
How to get the index of the previous/next non-disabled option (relative to the selected option)?
请看一下这个:
<select>
<optgroup label="Group 1">
<option>1.1
<option>Get my index (1)!
<option disabled>1.3
<optgroup label="Group 2">
<option selected>I am selected
<option disabled>2.2
<optgroup label="Group 3">
<option disabled>3.1
<option>Get my index (6)!
<option>3.3
</select>
<script>
var sIndex = $("select").prop("selectedIndex");
var nextClosestIndex = $("select").find("option").filter(function (i) {
return $(this).prop("disabled") === false && this.index > sIndex
}).prop("index");
alert(nextClosestIndex + ', which is right by accident, but I strongly dislike this way');
var prevClosestIndex = "I have no idea how to get 1";
alert(prevClosestIndex);
</script>
(在HTML5规范中省略了结束标记,这没有区别)。
我想你可以看到问题所在:我试图获取这些索引,但找不到方法。
尝试
var sIndex = $("select").prop("selectedIndex");
var $opts = $("select").find("option");
var $next = $opts.slice(sIndex + 1).not(':disabled').first();
var nextClosestIndex = $opts.index($next)
var $prev = $opts.slice(0, sIndex).not(':disabled').last();
var prevClosestIndex = $opts.index($prev)
console.log(nextClosestIndex);
console.log(prevClosestIndex);
演示:小提琴
相关文章:
- 按照选项卡索引的顺序循环一个jQuery选择
- 如何将ng选项的索引作为angularJs中的值传递给模型
- 我想将数组的索引附加到
中,其中选择选项是数组的索引 - 在 jquery 选项卡中查找 span 标记并返回该索引
- 嵌套在表单中的引导下拉菜单:输入时选项卡索引中断
- 如何使用原始选择选项的值更新引导选择的数据原始索引
- 两个不同部分的选项卡索引
- AngularJS ng选项获取索引
- 在网页上切换选项卡ui的最佳方式,z索引与显示
- 辅助功能键盘专用选项卡到z索引“;返回顶部”;
- 获取选择组中选择选项的索引
- 在 JQuery UI 选项卡中解析选定的面板索引时出错
- 使用 jQuery,查找所有选择并将索引值追加为选项
- 使用 Jquery 比较每个数组索引的输入文本数组控件和选择选项数组控件的值
- 在多选下拉jquery中获取最近选择的选项的索引
- 在 Firefox 中,当选择具有位置和 z 索引时,为什么更改事件不会在选项卡上触发
- 多个选定的索引查询(选择选项菜单)出现问题
- 如何根据选项文本获取选项索引
- 在Node.js/Express中获取选择标签选项索引
- 通过选项文本搜索选项索引