2016-08-22 34 views
1

如何获取所有没有使用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吗?

+0

''元素选择了你的第一个选项(''“'' ? – yuriy636

+0

是的,这听起来是正确的,但“”默认情况下没有选定的属性。 –

回答

3
$('select option:selected[value=""]').parent() 
  • 选择所有所有select元素
  • 检查所选择的选项的""一个值,而你的情况意味着没有选项实际选择的:selected选项。
  • 返回父(这将是一个select
+2

这不会产生与提问者所要求的相反吗?这给所有'选择'元素*做*有一个选择的选项.. – EyasSH

+0

哦,是的,谢谢。 – yuriy636

+0

作品完美,谢谢! –

0

您可以利用jQuery的.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负责删除重复的从一组子元素的父母。

JsFiddle here

0

如果您有jQuery库比试图 $( '选择选项')。过滤器(功能(I,d){回报!d.hasAttribute ( “选择”)});

相关问题