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'); }
Я нахожу это короче и чище. Кроме того, вы можете перебирать выбранные элементы, если их несколько;
$('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