2010-09-30 3 views
1

Я хочу, чтобы определить, когда пользователь выбрал опцию из элемента SELECT в форме. Я знаю, что делать дальше, но не уверен, как добиться первоначального обнаружения.jQuery обнаруживает, когда пользователь использует элемент SELECT в форме

<select id="mySelect"> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
</select> 

Я хотел бы получить решение в JQuery, если возможно.

+0

http://api.jquery.com/change –

ответ

4

Вы вероятно хотите .change() обработчик, например:

$("#mySelect").change(function() { 
    var newVal = $(this).val(); 
    //do something 
}); 

.val() получает текущее значение выпадающего списка (как строка), просто использовать, чтобы делать все, что вы хотите, например, alert("The new value is: " + $(this).val()); и т.д.

+0

Прохладный спасибо. PS ... Я думаю, вы имели в виду «var newVal = $ (this) .val();» – diggersworld

+0

@diggersworld - действительно, спасибо :) lysdexic Я. –

+0

Я знаю, что это довольно поздно, но если вы используете клавиатуру (tabbing) для навигации по форме и используйте стрелки вверх/вниз для выбора из выпадающего списка, то FireFox (22.0) не вызывает событие изменения. Вам необходимо дополнительно связать keypress для FireFox. Дополнительная информация: jQuery 1.10.2 с использованием синтаксиса $ ('select'). On ('change', function() {/ * do seomthing * /}); – MonkeyZeus

1
$("#mySelect").bind("change", function(event){ ... }); 
1

или просто использовать

$("#mySelect").change(function(){ 
    //do something here 
}) 
0
jQuery('#mySelect').bind('change',function(e){ 

     //value of selected item 
     var _selectedValues=jQuery(this).val(); 

     //your codes here 
}); 

я предпочитаю обязывать .Кнопкой() ,. click() и т. д.: поскольку привязка более общая, чем другие.