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

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

});

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


当前回答

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

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

其他回答

参见官方API文档 https://api.jquery.com/selected-selector/

这是好事:

$( "select" ).on('change',function() {
  var str = "";
  // For multiple choice
  $( "select option:selected" ).each(function() {
    str += $( this ).val() + " "; 
  });
});

and

$( "select" ).on('change',function() {
  // For unique choice
  var selVal = $( "select option:selected" ).val(); 
});

并且易于独特的选择

var SelVal = $( "#idSelect option:selected" ).val();
$('#_SelectID').change(function () {
        var SelectedText = $('option:selected',this).text();
        var SelectedValue = $('option:selected',this).val();
});

可以使用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();
   });
$('select').on('change', function (e) {
    var optionSelected = $("option:selected", this);
    var valueSelected = this.value;
    ....
});

这也可以很好地工作

(函数(jQuery) { $(文档)时函数(){ $ (" # select_menu ") .change(函数(){ var selectedOption = $("#select_menu").val() }); }); }) (jQuery); < script src = " https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js " > < /脚本>