javaScript 动态生成一个下拉列表,然后下拉列表绑定事件问题

 $("#btnAdd").bind("click", function () {
            var tabHtml = '<tr>'
                                + ' <th width="100"> 选择条件</th>'
                                + ' <th width="10">  &nbsp;</th>'
                                + ' <td >'
                                + ' <select id = "Activity" name="Activity" ">'
                                + ' <option value="">请选择</option>'
                                + ' <option value="ActivityCount"> 活度计算类型</option>'
                                + ' <option value="WasteType"> 废物类型</option>'
                                + ' <option value="EdsId" >能谱序号</option>'
                                + ' </select>'
                                + ' </td>'
                                + ' <td> &nbsp; </td>'
                                + ' <td> &nbsp; </td>'
                            + '</tr>';

            $("#tabAdd tbody tr:eq(-2)").append(tabHtml);
        });

                我用上面的代码生成了一个下来列表,然后用下面代码绑定事件报错
                   ("#Activity").change(function () {
            alert("");
        });

                求大神,动态生成的下拉列表,应该怎么绑定事件

这个应该不难吧,你都可以动态生成这个下拉框,你可以给他一个$("#sel").on("change",function(){})这个事件就可以了啊

动态生成下拉列表,需要在select中写onchange事件
';
请选择商铺类型';
' ' + item.ShopTypaName + ''
' ';
然后在另一个方法中取值,就是你选中的值了
function LoadAdminUsr() {

var AdminGroupID = $("#sltAdminGroup").val();
alert(AdminGroupID);

给dom绑定事件之前需要先加载dom,否则无效 ,动态绑定 。其实就是一个顺序而已 。
ajax 的回掉函数中你使用了append 向html 追加 下拉框的内容 ,由于js是单线程的。你在这个回掉函数的里面
在append 操作完成后追加绑定事件就可以了。

同名了没有?同名id选择器只会选出第一个对象,还有怎么个报错法?是没反应吧你新添加的,应该是id重复了或者没有生成,应该append后获取对象绑定,不要在其他地方执行

 //////////////////////
 $("#tabAdd tbody tr:eq(-2)").append(tabHtml).find('#Activity').change(function () {
            alert("");
        });;
});

动态生成的元素需要在它生成的时候动态绑定事件,不然在其他地方是没法获取的到的,你在下面绑定自然获取不到元素,1L正解。