Обычно я использую, $("#id").val()
чтобы вернуть значение выбранного параметра, но на этот раз он не работает. Выбранный тег имеет идентификаторaioConceptName
HTML-код
<label>Name</label>
<input type="text" name="name" />
<select id="aioConceptName">
<option>choose io</option>
<option>roma</option>
<option>totti</option>
</select>
javascript
jquery
html
Уильям Кинаан
источник
источник
#aioConceptName
value
атрибут для этих<option>
s, верно?$("#aioConceptName").val()
возвращаетchoose io
.Ответы:
Для выпадающих опций вы, вероятно, хотите что-то вроде этого
Причина
val()
не в том, что щелчок параметра не меняет значение раскрывающегося списка - он просто добавляет:selected
свойство к выбранному параметру, который является дочерним элементом раскрывающегося списка.источник
.val()
должно работать в вашем случае - вы должны иметь ошибку в другом месте.val()
почему бы не использоватьvar conceptVal = $("#aioConceptName option").filter(":selected").val();
?var conceptVal = $("#aioConceptName option:selected").val()
?var mySelect = $('#mySelect');
/ * ... больше кода происходит ... * /var selectedText = mySelect.find(':selected').text();
Установите значения для каждого из параметров
$('#aioConceptName').val()
не работал, потому что.val()
возвращаетvalue
атрибут. Чтобы он работал правильно,value
атрибуты должны быть установлены на каждом<option>
.Теперь вы можете звонить
$('#aioConceptName').val()
вместо всего этого:selected
вуду, предложенного другими.источник
$('#aioConceptName').val()
возвращает null / "undefined"prompt
опция<option>Please select an option</option>
. В моем случае не было проблемой добавить пустой атрибут value,<option value="">Please...</option>
но я считаю, что в некоторых случаях отсутствие атрибута value имеет смысл. Но +1, потому что твоя формулировка vodoo заставила меня улыбнуться.val()
выделятьvalue
вместо текста внутриoption
? Т.е. он выбирает1
вместоroma
..val()
. Если вы хотите манипулировать / использовать текст, используйте$(":selected).text()
или установите значение и текст одинаковыми.Я наткнулся на этот вопрос и разработал более краткую версию ответа Эллиота Бонневиля:
или в общем:
Это экономит вам дополнительный вызов jQuery, выбирает все в одном кадре и является более понятным (мое мнение).
источник
querySelectorAll()
методом DOM (см. Документацию jQuery ). Таким образом, это должно быть медленнее, чем решение Элиота ..find(':selected')
поскольку тогда он позволяет вам вызывать его с помощью обратного вызова, прикрепленного к событию ... например$('#aioConceptname').bind('change', function(el) { console.log ( $(el).find(':selected').text() ); });
Попробуйте это для ценности ...
или это для текста ...
источник
Если вы находитесь в контексте события, в jQuery вы можете извлечь выбранный элемент option, используя:
$(this).find('option:selected')
например:редактировать
Как уже упоминалось PossessWithin , на мой ответ просто отвечу на вопрос: как выбрать выбранный «вариант».
Далее, чтобы получить значение параметра, используйте
option.val()
.источник
$(this).find('option:selected').val()
в конце, чтобы получить значение элемента option или$(this).find('option:selected').text()
получить текст. :)Рассматривали ли вы использовать старый добрый javascript?
Смотрите также Получение текста / значения параметра с помощью JavaScript
источник
источник
Чтение значения (не текста) выбора:
Как отключить выбор? в обоих вариантах значение можно изменить с помощью:
A
Пользователь не может взаимодействовать с выпадающим. И он не знает, какие существуют другие варианты.
В
Пользователь может видеть параметры в раскрывающемся списке, но все они отключены:
В этом случае
$("#Status").val()
будет работать только для версий JQuery меньше, чем1.9.0
. Все остальные варианты будут работать.Как обновить отключенный выбор?
Исходя из кода, вы все еще можете обновить значение по вашему выбору. Это отключено только для пользователей:
В некоторых случаях вам может понадобиться запустить события:
источник
источник
:selected
val () или text () не работают корректно для нескольких опций выбора, только если какой-то массив создается из него, как этоmap()
можно было бы сделать.Вы должны использовать этот синтаксис:
Так что попробуйте этот код:
Вы можете проверить в Fiddle: http://jsfiddle.net/PJT6r/9/
см об этом ответе в этом посте
источник
Используя jQuery, просто добавьте
change
событие и получите выбранное значение или текст в этом обработчике.Если вам нужен выделенный текст, используйте этот код:
Или, если вам нужно выбранное значение, используйте этот код:
источник
Используйте
jQuery.val()
функцию и для элементов select:источник
Для тех, кто узнал, что лучший ответ не работает.
Попробуй использовать:
У меня работает в последних проектах, так что стоит посмотреть на это.
источник
Просто это должно работать:
источник
Прямо и довольно просто:
Ваш выпадающий
Код Jquery для получения выбранного значения
источник
Вы можете попробовать отладить это так:
источник
Для получения значения выбранного тега:
И если вы хотите получить текст, используйте этот код:
Например:
источник
Если вы хотите получить атрибут 'value' вместо текстового узла, это будет работать для вас:
источник
попробуйте это
источник
Представьте себе DDL как массив с индексами, вы выбираете один индекс. Выберите тот, который вы хотите установить с вашим JS.
источник
Я надеюсь, что это также помогает лучше понять и помогает попробовать это ниже,
для более подробной информации, пожалуйста, http://www.drtuts.com/get-value-multi-select-dropdown-without-value-attribute-using-jquery/
источник
Ты можешь использовать
$("#drpList").val();
источник
чтобы получить выборку с тем же именем class = name, вы можете сделать это, чтобы проверить, выбрана ли опция выбора.
источник
У меня была та же проблема, и я выяснил, почему она не работает в моем случае
. HTML-страница была разделена на различные HTML-фрагменты, и я обнаружил, что у меня есть другое поле ввода, которое содержит тот же Id
select
, что иval()
всегда было пустымЯ надеюсь, что это спасет день для тех, у кого есть подобные проблемы.
источник
чтобы использовать $ ("# id"). val, вы должны добавить значение к опции, например:
иначе, вы можете использовать
Я хочу, чтобы это помогло ..
источник
Вот простое решение этой проблемы.
источник
var selectedaioConceptName = $('#aioConceptName option:selected').val();
лучше, чем использовать другую находку ()Вероятно, лучшая ставка для такого сценария - использовать метод изменения jQuery, чтобы найти текущее выбранное значение, например:
Я предпочитаю этот метод, потому что вы можете выполнять функции для каждого выбранного параметра в данном поле выбора.
Надеюсь, это поможет!
источник
Обычно вам нужно не только получить выбранное значение, но и выполнить какое-либо действие. Так почему бы не избежать всей магии jQuery и просто передать выбранное значение в качестве аргумента для вызова действия?
источник
Вы можете выбрать, используя точно выбранную опцию: ниже приведу innerText
Хотя ниже даст вам ценность.
источник