$("#btnAdd").bind("click", function () {
var tabHtml = '<tr>'
+ ' <th width="100"> 选择条件</th>'
+ ' <th width="10"> </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> </td>'
+ ' <td> </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正解。