jquery - 找到第一个选择第一个值的选择?

时间:2014-09-17 09:57:17

标签: jquery select jquery-selectors

我有多个选择下拉列表,并且all的第一个值为空(即“”)。选择值为“”的FIRST选择的最佳方法是什么?我一直在尝试像

这样的事情
$j("[id*='user'] option[value='']").first().prop("selected", true);

但这是设置它与寻找匹配的。

(所有ID都以'user'开头;我需要找到第一个具有空值的用户选择...)

3 个答案:

答案 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)");