13

我有一个下拉列表。在 Jquery 中,当用户进行选择时我会使用什么事件。

下拉列表的 id 是 drp1

我尝试了以下但没有奏效:

$("#ddrp1").SelectChanged(SelectionItem);
4

4 回答 4

27

使用change()事件:

$("#ddrp1").change(function() {
    // Pure JS
    var selectedVal = this.value;
    var selectedText = this.options[this.selectedIndex].text;

    // jQuery
    var selectedVal = $(this).find(':selected').val();
    var selectedText = $(this).find(':selected').text();
});

在 jQuery 1.7 中,您可以使用.on()

$("#ddrp1").on("change", function() {
    // Pure JS
    var selectedVal = this.value;
    var selectedText = this.options[this.selectedIndex].text;

    // jQuery
    var selectedVal = $(this).find(':selected').val();
    var selectedText = $(this).find(':selected').text();
}​​​​);​

这是一个正在使用的jsFiddleon()

于 2012-04-27T15:08:59.170 回答
3

你想要的是onchange可以写成的事件

 $("#ddrp1").change (function () { 
 });
于 2012-04-27T15:09:09.507 回答
2

使用 jQuerychange事件处理程序。

$("#ddrp1").change(function(){
    //selection changed
    alert(this.value);//this will give the selected option's value
    alert($(this).find(':selected').text());//this will give the selected option's text
});

change绑定事件处理程序的另一种方法是。

$("#ddrp1").bind('change', function(){

});
于 2012-04-27T15:09:26.727 回答
0

你需要使用change().

当元素的值发生更改时,会发生 jQuery 更改事件。

此事件仅限于input元素、textarea框和select元素。

$("#ddrp1").change (function () { 

     var getText = $(this).find(':selected').text();
     alert (getText); // show the text value of the selected element ...

 });
于 2020-02-05T02:48:15.623 回答