我在我选择的元素的变化事件上绑定了一个事件:
$('select').on('change', '', function (e) {
});
当发生更改事件时,我如何访问被选中的元素?
我在我选择的元素的变化事件上绑定了一个事件:
$('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演示
其他回答
$('#_SelectID').change(function () {
var SelectedText = $('option:selected',this).text();
var SelectedValue = $('option:selected',this).val();
});
参见官方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();
另一种获取选定值的简便方法是,
$('#selectElement').on('change',function(){
var selectedVal = $(this).val();
^^^^ ^^^^ -> presents #selectElement selected value
|
v
presents #selectElement,
});
委托替代
如果有人正在为他们的侦听器使用委托方法,请使用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演示
这也可以很好地工作
(函数(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 " > < /脚本>