jQuery:获取第一个选项的innerHTML选项,并在HTML select标签中设置值

时间:2012-03-26 17:31:18

标签: jquery select drop-down-menu option

假设我有一个包含3个值的下拉列表(选择标记)。我们的第一个选项的值为“”。第二个选项的值为“something”。第三个选项的值为“其他”。如何获得第二个选项的innerHTML(文本)?我不想硬编码,因此每次都需要第二个选项。我想确保它是第一个带有值集的选项。

3 个答案:

答案 0 :(得分:6)

var result = $('#selectId option[value!=""]').first().html();

或:

var result = $('#selectId option[value!=""]:first').html();

Attribute Not Equal selector:

  

描述:选择既没有指定属性,也没有指定属性但没有特定值的元素。

:first selector

  

描述:选择第一个匹配的元素。   :第一个伪类相当于:eq(0)。它也可以写成:lt(1)

注意所有<option> s 必须具有 value属性才能使选择器按预期工作。如果不能保证,请使用:

var result = $('#selectId option[value!=""][value]:first').html();

Has Attribute Selector [name]

  

描述:选择具有指定属性的元素,具有任何值。

答案 1 :(得分:1)

如果我做对了你想从下拉行程中获得第二个元素>

   $('select[name=thename] option:eq(1)').text();​

答案 2 :(得分:0)

我喜欢简单,所以我会根据结构给你两种方法。我通常不会按名称选择,因为代码更复杂,而且不需要IMO。

如果HTML只有一个没有id的类:

<select class='example'>
    <option value=''>Text 0</option>
    <option value='something'>Text 1</option>
    <option value='something else'>Text 2</option>
</select>

$('select.example option:eq(1)').text();  // Text 1

如果HTML有id,这是获取文本的最有效方式:

<select id='example'>
    <option value=''>Text 0</option>
    <option value='something'>Text 1</option>
    <option value='something else'>Text 2</option>
</select>

$('#example option:eq(1)').text();  // Text 1