Подтвердить что ты не робот

Получите каждое выбранное значение, используя выбранный плагин jquery

Я использую Chosen Multiple Select Что я хочу сделать, так это то, что если пользователь выбирает любую опцию, я хочу это значение, а затем я буду выполнять некоторые функции в зависимости от этого значения.

В выбранном без множественного выбора я могу получить выбранное значение с помощью foll. код

$(".selectId").chosen().change(function(){
     selectedValue = $(this).find("option:selected").val();
});

Но при множественном выборе я снова получаю первое выбранное значение снова n может ли кто-нибудь помочь мне, найдя текущее выбранное значение в нескольких элементах выбора?

4b9b3361

Ответ 1

Выбранная документация содержит параметры для получения последних измененных переменных.

Выбранный триггер запускает стандартное событие DOM всякий раз, когда делается выбор (он также отправляет выбранный или отмененный параметр, который сообщает вам какая опция была изменена).

Итак, если вы хотите, чтобы последняя выбранная опция была выбрана или отменена:

$(".selectId").chosen().change(function(e, params){
 // params.selected and params.deselected will now contain the values of the
 // or deselected elements.
});

В противном случае, если вы хотите, чтобы весь массив работал с вами, вы можете использовать:

$(".selectId").chosen().change(function(e, params){
 values = $(".selectId").chosen().val();
 //values is an array containing all the results.
});

Ответ 2

Короткий ответ:

Вы просто делаете это: var myValues = $('#my-select').chosen().val();

Полный пример:

Если у вас есть select-multiple, как это:

<select id="my-select" class="chzn-select" multiple data-placeholder="Choose one or more values...">
  <option value="value1">option1</option>
  <option value="value2">option2</option>
  <option value="value3">option3</option>
</select>

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

// first initialize the Chosen select
$('#my-select').chosen();

// then, declare how you handle the change event
$('#my-select').chosen().change(function(){
    var myValues = $('#my-select').chosen().val();

    // then do stuff with the array
    ...
});

Ответ 3

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

попробуйте это

 $(".selectId").chosen().change(function(){
    var  selectedValue = $.map( $(this).find("option:selected").val(), function(n){
              return this.value;
       });
    console.log(selectedValue );  //this will print array in console.
    alert(seletedValue.join(',')); //this will alert all values ,comma seperated
});

обновляется

если вы получаете значения с пересылкой, используйте split()

 var values=  $(".selectId").val();
 $.each(values.split(',').function(i,v){
     alert(v); //will alert each value
     //do your stuff
 }

Ответ 4

попробуйте это

 $('.selectId:selected').each(function(i, selected) {

var value = $(selected).val();
var text = $(selected).text();

});