我一直在研究jquery中的.on()函数来更新动态表单的DOM并触发新创建的下拉框的更改事件。
我在这里联系了一个小提琴:
http://jsfiddle.net/6y18mho8/10/
我相信导致我的问题的jquery就在这里:
$('#orderDetail').ready(function () {
$("[id^=PN_]").on('change',function(event) {
var PN = $(event.target).val();
var ID = event.target.id;
alert('Successfully triggered by onChange from "'+ID+'"');
});
});
代码将在初始行上触发,但不会在新创建的代码上触发。同样,从我读过的所有内容中,我需要通过.on()方法重新加载/重新定义DOM以包含我的新元素。我是在正确的轨道上,如果是的话,我错过了什么?
对此的任何指导都将非常感激。
答案 0 :(得分:0)
尝试下面的内容!
$(".orderDetail").on('change', '[id^=PN_]', function(event) {
var PN = $(event.target).val();
var ID = event.target.id;
alert('Successfully triggered by onChange from "'+ID+'"');
});
delegate()
.on
,请使用$('parent_selector').on('event', 'event_selector', function(){});