jquery更改事件未注册动态添加的select

jquery更改事件未注册动态添加的select,jquery,select,dynamic,Jquery,Select,Dynamic,希望有人能提供帮助,当有人更改select时,我会启动一些noddy jquery,如下所示:- $(function() { $("select").change(function() { var banana = $(this).attr("id"); if((banana.indexOf("forms[")>-1)){ var formID= $(this).val(); getFormInfo

希望有人能提供帮助,当有人更改select时,我会启动一些noddy jquery,如下所示:-

$(function() {
    $("select").change(function() {
        var banana = $(this).attr("id");

        if((banana.indexOf("forms[")>-1)){
            var formID= $(this).val();
            getFormInformation(formID);
        }
    });
});
这适用于第一次加载页面时页面上出现的所有选择,但是,我也有一些jQuery,它会在页面上动态添加额外的选择,并且不会为这些选择拾取,有什么想法吗

提前谢谢

变化:

$("select").change(function() { 
致:

用“开”代替


您需要将事件处理程序附加到动态附加的元素。使用
jQuery
.on()
方法将事件处理程序附加到
jQuery对象中当前选定的元素集。从
jQuery 1.7
开始,
.on()
方法提供附加事件处理程序所需的所有功能

这可能会帮助您:

$(document).on('click','select',function(){
    alert("click");
});

还可以查看
.on()

您需要将事件处理程序附加到动态附加的元素。检查下面的答案。当我使用行
$(文档)尝试此操作时。在(“更改”、“选择”和(函数()上){
下面由Chris善意提供,它根本不起作用…:/有任何错误吗?如果有,请毫不犹豫地在这里发布。这也不起作用,但奇怪的是,当我在使用我的帖子添加另一个内容后查看页面源时,选择它根本不显示在页面源中(尽管我可以在firebug等中看到它的详细信息),它是否应该显示,这可能是原因吗?这可能是原因吗?如果是,我是否可以更改我正在添加的html,以便新的下拉菜单触发此更改功能?感谢迄今为止的帮助!结果是它不适用于$('body'),而适用于$(document),为什么我不知道…很抱歉,当我这样做时,什么都没有发生,甚至对于开始时的选择…它甚至没有调用函数,我只是通过发出警报(“hello world”)来检查该函数在那里,看看它是否被拾起……:/但是,看看我刚刚组装的这个JSFIDLE,它确实工作了……啊哈,我发现了问题,您非常友好地给了我替换行,但有一个错误”(“之前我没有发现停止它工作的函数,现在非常感谢!!:)
$(function() {
  $('body').on('change','select', function() {
        var banana = $(this).attr("id");

        if((banana.indexOf("forms[")>-1)){
            var formID= $(this).val();
            getFormInformation(formID);
        });
});
$(document).on('click','select',function(){
    alert("click");
});