Как я могу получить выбранные значения из выбранного поля множественного выбора?
Выбранный плагин Jquery - получение выбранных значений
Ответы (9)
Как и при любом обычном вводе/выборе/и т.д...:
$("form.my-form .chosen-select").val()
Это сработало для меня
$(".chzn-select").chosen({
disable_search_threshold: 10
}).change(function(event){
if(event.target == this){
alert($(this).val());
}
});
$("#select-id").chosen().val()
это правильный ответ, я пробовал, и переданное значение - это значения, разделенные знаком ","
chosen
), поэтому получается что-то вроде этого: var[] = 111; var[]=3348;
- person kneidels; 20.04.2015
Если кто-то хочет получить только выбранное значение при нажатии на опцию, он может сделать следующее:
$('.chosen-select').on('change', function(evt, params) {
var selectedValue = params.selected;
console.log(selectedValue);
});
.chosen-select
.
- person BobRodes; 19.07.2016
По состоянию на 2016 год вы можете сделать это проще, чем в любом из уже данных ответов:
$('#myChosenBox').val();
где «myChosenBox» — это идентификатор исходного ввода выбора. Или, в событии изменения:
$('#myChosenBox').on('change', function(e, params) {
alert(e.target.value); // OR
alert(this.value); // OR
alert(params.selected); // also in Panagiotis Kousaris' answer
}
В документе Chosen в разделе внизу страницы, посвященном запуску событий, говорит: «Выбранный запускает ряд стандартных и пользовательских событий в исходном поле выбора». Одним из таких стандартных событий является событие изменения, поэтому вы можете использовать его так же, как и стандартный ввод выбора. Вам не нужно возиться с использованием прикладных классов Chosen в качестве селекторов, если вы этого не хотите. (То есть для события change
. Другие события часто имеют другое значение.)
если вы хотите получить текст выбранной опции (выбрано отображение выбранного значения)
$("#select-id").chosen().find("option:selected" ).text();
$("#select-id").chosen().find("option:selected" ).attr('somArbitraryAttributeNameFromOptionElement')
- person uchuugaka; 10.06.2020
Это решение сработало для меня
var ar = [];
$('#id option:selected').each(function(index,valor){
ar.push(valor.value);
});
console.log(ar);
убедитесь, что ваши теги <option>
имеют соответствующий атрибут value
. Надеюсь, поможет.
Я считаю, что проблема возникает при таргетинге по идентификатору, потому что Chosen скопирует идентификатор из исходного select
во вновь созданный div
, оставив вам 2 элемента с одинаковым (теперь уже не уникальным) идентификатором на текущей странице.
При нацеливании на Выбрано по идентификатору используйте селектор, относящийся к select
:
$( 'select#yourID' ).on( 'change', function() {
console.log( $( this ).val() );
} );
...вместо...
$( '#yourID' ).on( 'change', function() {
console.log( $( this ).val() );
} );
Это работает, потому что Chosen отображает выбранные элементы обратно в исходный (теперь скрытый) элемент select
даже в многорежимном режиме.
(Он также продолжает работать с Chosen или без него, скажем... если вы решите пойти в другом направлении в своем приложении.)
TypeError: $(...).chosen.val is not a function
- person Lucky; 23.02.2016
val()
. эта ошибка появилась в консоли, выбранная не является допустимой функцией. но другие мои выбранные API работают нормально.
- person Lucky; 08.03.2016
()
. Один после chosen
и один после val
. Попробуйте $(...).chosen().val()
- person WhiteHotLoveTiger; 24.03.2016