Как использовать JQuery для поиска выбранного индекса в объекте выбора DOM? - PullRequest
3 голосов
/ 28 февраля 2010

С учетом следующего JavaScript:

function foo(selectControl) { ... }

и следующий html:

<select onchange="foo(this)"> ...

Как в JQuery имитировать следующие функции:

$('#selectList :selected').text();

когда вместо этого я передаю реальный объект DOM. Я знаю, что могу обернуть объект DOM и вызвать такие операции, как

$(selectControl).val();

но я специально спрашиваю, как скопировать механизм селектора строк JQuery:

$('#selectList :selected')

Ответы [ 3 ]

3 голосов
/ 28 февраля 2010

Вы можете использовать аргумент context функции jQuery:

$(':selected', selectControl).text();

Проверьте пример здесь .

Хотя я бы порекомендовал вам связать события программно:

$('#selectID').change(function () {
  //...
});
1 голос
/ 28 февраля 2010

Вы спрашиваете, как сделать это изначально, без jQuery? Я верю, что это будет:

selectControl.options[selectControl.selectedIndex]

и затем .value или .text от этого.

0 голосов
/ 28 февраля 2010

Допустим, вы захватили элемент select:

var select = document.getElementById('selectId');

Вы можете получить текст выбранной опции следующим образом:

var text = select.options[select.selectedIndex].innerHTML;

(Да, он получает HTML, но вы можете найти и получить содержимое текстового узла, если хотите.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...