1)无效的代码(Change Event)是:
$(document).on('change','select[name="id"]',function(){
alert('Not Working');
});
2)正在运行的代码(Change Event)是:
$(document).on('change',$('select[name="id"]'),function(){
alert('Working');
// Here $(this).val() not working for get value.I want to use $('select[name="id"]').val()
});
怀疑:
a)为什么第一次改变事件不起作用?
b)第二次更改事件正在工作,但$(this).val()无效。
您能解释一下上述2个功能之间的区别吗?
答案 0 :(得分:0)
我不确定为什么你的第一个例子不能正常工作,但是第二个例子的this
范围是document
,而不是select。
以下内容将this
范围限定为选择。
$('select[name="id"]').on('change', function (){
$(this).val()
});
答案 1 :(得分:0)
为了处理select
元素更改:
$('select[name="id"]').on('change',function(){
alert($(this).val());
});
对于动态创建的元素,请使用:
$(document).on('change','select[name="id"]',function(e){
alert($(e.target).val());
});
如您所见,在这种情况下,应使用e.target.val()
( e.target包装到$()
中,以便将其作为jquery对象)