jQuery: получить параметр innerHTML первого параметра со значением, установленным в теге выбора HTML. - PullRequest
1 голос
/ 26 марта 2012

Предположим, у меня есть выпадающий список (выберите тег) с 3 значениями. Наш первый вариант имеет значение "". Второй вариант имеет значение «что-то». А третий вариант имеет значение «что-то еще». Как я могу получить innerHTML (текст) второго варианта? Я не хочу жестко кодировать его так, чтобы он каждый раз брал 2-й вариант. Я хочу убедиться, что это первый вариант с установленным значением.

Ответы [ 3 ]

6 голосов
/ 26 марта 2012
var result = $('#selectId option[value!=""]').first().html();

или:

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

Атрибут Не равно Селектор:

Описание: Выберите элементы, которые не имеют указанного атрибутаили имеют указанный атрибут, но не имеют определенного значения.

: первый селектор

Описание: выбирает первый соответствующий элемент.Псевдокласс: first эквивалентен: eq (0).Он также может быть записан как:чтобы селектор работал как положено.Если это не гарантировано, используйте это:

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

Имеет селектор атрибутов [имя]

Описание: выбирает элементы с указанным атрибутом с любым значением.

1 голос
/ 26 марта 2012

Если я получаю права, вы хотите получить 2-й элемент из выпадающего списка, попробуйте

   $('select[name=thename] option:eq(1)').text();​
0 голосов
/ 21 мая 2013

Мне нравится простой, поэтому я дам вам два способа сделать это в зависимости от структуры.Я обычно не выбираю по имени, потому что код более сложный и IMO не нужен.

Если в HTML есть только класс без идентификатора:

<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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...