JQuery получить значение из выбранного выпадающего - PullRequest
3 голосов
/ 02 ноября 2009

традиционно пишем

var value = $("#drop-down-id").val();

, чтобы получить значение. В моем случае некоторые параметры содержат несколько слов с пробелами «Разрешить все», «Интернет-пользователи» и т. Д. В VALUE я получаю только «Разрешить», то есть jquery обрезает слова после пробела. Есть ли другой способ решить эту проблему?

Ответы [ 3 ]

9 голосов
/ 02 ноября 2009

Если у вас есть значение, заключенное в <option></option>, и вы не используете атрибут val напрямую, вы можете сделать:

var value = $('#drop-down-id option:selected').text();
6 голосов
/ 02 ноября 2009

попробуйте с:

var value = $("#drop-down-id option:selected").attr("value");
1 голос
/ 02 ноября 2009

Это не имеет смысла. Не должно быть необходимости получать текст опции. Если вам нужно сделать это, то ваши опционные элементы, вероятно, заполнены неправильно на стороне сервера.

Проверьте источник HTML, вы, вероятно, забыли кавычки вокруг атрибута значения параметра.

Это неправильно :

<option value=John Doe>John Doe</option>

Было бы возвращено только первое слово как фактически выбранное значение, потому что пробел на самом деле является разделителем атрибутов в HTML; теперь вы получите «Джон» в качестве значения, а «Доу» - в качестве другого (несуществующего) атрибута HTML.

Это правильно

<option value="John Doe">John Doe</option>

Таким образом, вы получите «Джон Доу» в качестве значения.

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