通过AJAX添加元素所需的jQuery .on方法?

时间:2014-06-06 23:32:19

标签: jquery ajax

我已经通过AJAX添加了一个元素(一个选择下拉列表),到目前为止一直很好。现在,当有人选择一个值时,我想触发另一个jQuery事件。

我尝试过这样的事情:

jQuery(document).on("change","#myselectdropdown", function () {
  alert( "did it fire?" );
});

jQuery("#myselectdropdown").on("change", function () {
  alert( "did it fire?" );
});

之前

jQuery("#myselectdropdown").change(function() {
  alert( "did it fire?" );
});

但他们都没有工作。我很确定最后一个不起作用,因为加载时页面上不存在该元素(后来通过我说的AJAX添加),所以我试图使用jQuery .on方法绑定未来的事件,但是很明显我做错了,因为下拉的变化没有发生警告。有任何想法吗?非常感谢提前。

1 个答案:

答案 0 :(得分:0)

我道歉我现在意识到我应该发布我的EXACT选择下拉名称,因为事实证明这是问题所在。它以下划线命名(因为我有几个):

#myselectdropdown_1, #myselectdropdown_2, #myselectdropdown_3

显然,jQuery不喜欢下划线。当我更改命名以删除下划线时,它开始使用以下内容:

jQuery(document).on("change","#myselectdropdown1", function () {
      alert( "did it fire?" );
    });

很奇怪,没有错过任何错误,你会认为会在控制台中显示,不是吗?