我在我选择的元素的变化事件上绑定了一个事件:

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

});

当发生更改事件时,我如何访问被选中的元素?


当前回答

委托替代

如果有人正在为他们的侦听器使用委托方法,请使用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 (e) {
    var optionSelected = $("option:selected", this);
    var valueSelected = this.value;
    ....
});
$('#_SelectID').change(function () {
        var SelectedText = $('option:selected',this).text();
        var SelectedValue = $('option:selected',this).val();
});

委托替代

如果有人正在为他们的侦听器使用委托方法,请使用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演示

另一种获取选定值的简便方法是,

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

你可以使用jquery的select change事件来获取选中的选项值

为演示

$(document).ready(function () { $('body').on('change','#select', function() { $('#show_selected').val(this.value); }); }); <!DOCTYPE html> <html> <title>Learn Jquery value Method</title> <head> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> </head> <body> <select id="select"> <option value="">Select One</option> <option value="PHP">PHP</option> <option value="jAVA">JAVA</option> <option value="Jquery">jQuery</option> <option value="Python">Python</option> <option value="Mysql">Mysql</option> </select> <br><br> <input type="text" id="show_selected"> </body> </html>