动态生成的元素:举个例子(遍历出来的数据)
//每一个n就是每一个市场活动对象
$.each(data.dataList,function (i,n) {
html +=' <tr class="active">';
html +=' <td><input type="checkbox" name="xz" value="'+n.id+'" /></td>';
html +=' <td><a style="text-decoration: none; cursor: pointer;" onclick="window.location.href=\'workbench/activity/detail.jsp\';">'+n.name+'</a></td>';
html +=' <td>'+n.owner+'</td>';
html +=' <td>'+n.startDate+'</td>';
html +=' <td>'+n.endDate+'</td>';
html +=' </tr>';
})
之后我想要绑定这个遍历出来的“checkbox”,怎么办呢?
//以下这种做法是不行的
/*$("input[name=xz]").click(function () {
alert(123);
})*/
//因为动态生成的元素(这是用js自己现拼的),是不能够以普通绑定事件的形式来进行操作的
/*
动态生成的元素,我们要以on方法的形式来触发事件
语法:
$(需要绑定元素的有效的外层元素).on(绑定事件的方式,需要绑定的元素的jquery对象,回调函数)
有效的外层元素:就是不是自己拼出来的标签的id
见82集9.55.
*/
$("#activityBody").on("click",$("input[name=xz]"),function () {
alert(123);
})
<tbody id="activityBody">
</tbody>