![](/img/trans.png)
[英]Using Jquery how do I select all input text elements after currently selected input element?
[英]How do I get all select elements that do not have an option selected using jQuery?
如何获取所有没有使用 jQuery 选择选项的选择元素?
<select id="one">
<option value=""></option>
<option value="test"></option>
</select>
<select id="two">
<option value=""></option>
<option selected value="test"></option>
</select>
什么 jQuery 选择器会根据没有选择只返回 #one?
如果您的情况与 OP 不相似,请参阅https://stackoverflow.com/a/63588880/3499595 (默认值为“”)
$('select option:selected[value=""]').parent()
select
元素的所有:selected
选项""
,在您的情况下,这意味着实际上没有选择任何选项。select
)您可以利用 jQuery 的.parent()
和.parent()
.not()
函数。 见下文:
// selector for all 'select' elements with any option below it
var all = $("select>option").parent(); // alternative $("select")
// selector for all 'select' element with a selected child
var selected = $("select>option[selected]").parent();
// the subtraction set "all - selected" achieved by `not`.
var unselected = all.not(selected);
请注意,jQuery 的parent
元素负责从一组子元素的父元素中删除重复项。
接受的答案为所有select
元素提供了一个值为空的选定选项( ""
),它确实回答了关于 OP 示例 HTML 的问题,其中给出了具有空值的选项,但它并没有真正回答标题问题。
选择一个空值的选项和根本不选择任何选项是有区别的。
要选择没有选择任何选项的所有select
元素,请使用
$('select').not(':has(option:selected)')
如果您有 jquery 库,请尝试
$('select option').filter(function(i,d){return !d.hasAttribute("selected")});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.