JQuery Change事件未触发

时间:2014-12-19 03:57:52

标签: javascript jquery html

我的更改功能非常适合最初构建到页面中的选择控件,但是当我动态添加选择控件时,更改功能将不会触发。

<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!

3 个答案:

答案 0 :(得分:2)

你需要像这样绑定event.try:

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

    alert("foo");

});

答案 1 :(得分:1)

因为您使用Jquery动态生成HTML,所以请尝试事件委派,如下所示: -

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

OR

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

Reference.

答案 2 :(得分:1)

你的语法有点偏差,你错过了一个&#39;)&#39;在末尾。它应该看起来像

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

     alert("foo");

});