jQuery <select> first <option> not disabled

时间:2016-10-29 00:19:20

标签: jquery css-selectors

我正在尝试使用选项,以便当用户从下拉列表中选择产品时,它会被禁用,因为每个产品不会多次执行所采取的操作。这样做有效,但是如果你点击下拉列表,它仍然被选中但被禁用,我想自动选择第一个可用的&lt;选项&gt;为了能够选择它而没有禁用,并且故事结束;) 任何线索? $(“#PRODUCT_NAME”)找到(“选项:不使用(禁用):首个类型”)。 $( '#PRODUCT_NAME')找到( '选项:不使用(禁用):第一胎')。 $( '#PRODUCT_NAME')找到( '选项:第n个孩子(1):不([停止])'); 当然我也玩过:not(:disabled),但是从我在这个主题上的测试时间来看,CSS选择器适用于未禁用的元素但是当第二个参数=== requisite起作用时,那将是“选择符合规则的第一个“一切都变暗,只是不起作用。

1 个答案:

答案 0 :(得分:4)

使用:first选择器:

  

:第一个伪类相当于:eq(0)。它也可能是   写作:lt(1)。虽然这只匹配一个元素,   :第一个孩子可以匹配多个:每个父母一个。

$('select option:not([disabled]):first').addClass('highlight');
.highlight {
  background: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<select>
  <option disabled>Disabled One</option>
  <option disabled>Disabled One</option>
  <option>Enabled One</option>
  <option>Enabled One</option>
  <option selected>Enabled One</option>
  <option disabled>Disabled One</option>
  <option disabled>Disabled One</option>
  <option>Enabled One</option>
</select>