jquery выберите Изменить событие получить выбранную опцию



я привязал событие к событию изменения моих выбранных элементов следующим образом:



$('select').on('change', '', function (e) {

});


Как я могу получить доступ к элементу, который был выбран, когда событие change происходит?

682   6  

6 ответов:

$('select').on('change', function (e) {
    var optionSelected = $("option:selected", this);
    var valueSelected = this.value;
    ....
});

можно использовать jQuery find метод

 $('select').change(function () {
     var optionSelected = $(this).find("option:selected");
     var valueSelected  = optionSelected.val();
     var textSelected   = optionSelected.text();
 });

вышеуказанное решение работает отлично, но я решил добавить следующий код для них, желающих получить нажатую опцию. Это позволяет получить выбранную опцию, даже если это значение выбора не изменилось. (Проверено только с Mozilla)

    $('select').find('option').click(function () {
     var optionSelected = $(this);
     var valueSelected  = optionSelected.val();
     var textSelected   = optionSelected.text();
   });

Делегирован Альтернатива

в случае, если кто использует делегирован подход для их слушателя, используйте e.target (он будет ссылаться на элемент Select).

$('#myform').on('change', 'select', function (e) {
    var val = $(e.target).val();
    var text = $(e.target).find("option:selected").text(); //only time the find is required
    var name = $(e.target).attr('name');
}

Демо JSFiddle

Я нахожу это короче и чище. Кроме того, вы можете перебирать выбранные элементы, если их несколько;

$('select').on('change', function () {
     var selectedValue = this.selectedOptions[0].value;
     var selectedText  = this.selectedOptions[0].text;
});
<select id="selectId">
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
</select>


$('#selectId').on('change', function () {
     var selectVal = $("#selectId option:selected").val();
});

создать select option. После этого с помощью jquery вы можете получить текущее выбранное значение при смене пользователя select option значение.

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

$('#selectElement').on('change',function(){
   var selectedVal = $(this).val();
                       ^^^^  ^^^^ -> presents #selectElement selected value 
                         |
                         v
               presents #selectElement, 
});

Comments

    Ничего не найдено.