我有多个选择下拉列表,并且all的第一个值为空(即“”)。选择值为“”的FIRST选择的最佳方法是什么?我一直在尝试像
这样的事情$j("[id*='user'] option[value='']").first().prop("selected", true);
但这是设置它与寻找匹配的。
(所有ID都以'user'开头;我需要找到第一个具有空值的用户选择...)
答案 0 :(得分:2)
由于您需要select元素,因此可以尝试.has()
$j("[id*='user']").has('option[value=""]:selected').first()
尝试
$("[id*='user']").has('option[value=""]:selected').first().css({
"color": 'red',
"border-color": 'green'
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="user-1">
<option value="">Select</option>
<option selected="selected">1</option>
</select>
<select id="user-2">
<option value="">Select</option>
<option selected="selected">1</option>
</select>
<select id="user-3">
<option value="">Select</option>
<option>1</option>
</select>
<select id="user-4">
<option value="">Select</option>
<option>1</option>
</select>
<select id="user-5">
<option value="">Select</option>
<option selected="selected">1</option>
</select>
答案 1 :(得分:1)
您需要使用jquery选择器启动,即[id^=startwithid]
以使所有ID以用户开头,请参阅下面的代码
$j("[id^='user'] option[value=]:selected").first().parent();
或者使用:has
的最佳方式,如下所示
$j("[id^='user']:has(option[value=]:selected)").first();
答案 2 :(得分:0)
您可以使用:has
选择器查找选中选项值""
的选项:
$j("[id*='user']:has(option[value='']:selected)").first();
或
$j("[id*='user']:has(option[value='']:selected):eq(0)");