JQuery更改事件不触发

问题描述:

我的更改函数对于最初内置于页面中的选择控件非常适用,但是当我动态添加选择控件时,更改函数不会触发。JQuery更改事件不触发

<select name="SUBJ" class="SUBJ" id="SUBJ_-9"> 
    <option value="1">First item</option> 
    <option value="2">Second item</option> 
</select> 

$j('.SUBJ').change(function() { 

    alert("foo"); 

} 

我不知道以后我动态添加控件:

$j("tbody > tr:last").prev().before(strAppend); 

做我需要调用任何功能,与控制的事件观察器/处理器相关联?

还有其他想法吗? TKS!如图所示

因为你生成动态与jQuery HTML,所以尽量事件代表团: -

$j('body').on('change','.SUBJ',function() { 
    alert("foo"); 
}); 

OR

$j(document).on('change','.SUBJ',function() { 
    alert("foo"); 
}); 

Reference.

+0

非常感谢,卡尔提克亚和素集。那样做了!你们好棒! – SlimJim 2014-12-19 04:19:44

+0

@ SlimJim..happy帮助你.. :) – 2014-12-19 04:20:39

你的语法是有点偏离,你最后错过了')'。它应该看起来像

$j('.SUBJ').change(function() { 

    alert("foo"); 

}); 

,你需要这样的event.try绑定:

$j('body').on('change','.SUBJ',function() { 

    alert("foo"); 

});