Как правильно получить значение выбранного выпадающего элемента с помощью JavaScript? - PullRequest
2 голосов
/ 15 февраля 2011

Я думал, что знаю это, и теперь я очень смущен, потому что я не знаю: - /

Этот JSFiddle демонстрирует два способа получения значения выбранного выпадающего менюэлемент в JavaScript.Код, воспроизводимый здесь:

var obj = document.getElementById("test");
alert(obj.options[obj.selectedIndex].value);  //like this
alert(obj.value);  //or like this

Quirksmode предполагает, что некоторые более старые выпуски не поддерживают последний (http://www.quirksmode.org/js/forms.html), и значение не поддерживается в спецификации HTML 4.01 .

Вот я и подумал, какой правильный стандартизированный способ сделать это?

Кто-нибудь?

Ответы [ 2 ]

1 голос
/ 15 февраля 2011

Дэвид прав.Если вам нужна полная совместимость, вы можете использовать что-то вроде:

var options = document.getElementById('securityWalkInTime').children;
var value = [];
for (var i=0;i<options.length;i++) {
    var option = options[i];
    if (option.selected === true) {
        value.push(option.value ? option.value : option.text);
    }
}

Это определенно будет работать, однако для всех практических случаев я бы использовал последний из вашего примера.

1 голос
/ 15 февраля 2011

Оба стандарт .Используйте версию с лучшей поддержкой браузера.

значение не поддерживается в спецификации HTML 4.01

Это DOM , а не HTML.

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