click不能对动态生成的元素执事件绑定,必须使用on进行事件动态绑定 | |
//语法: 元素.on(事件名,元素里面那个标签绑定,function(){}) |
//2.读取data中的数据,把数据生成每一行的标签元素追加到dom变量中 | |
for(var i=0;i<datda.length;i++){ | |
var goods=datda[i]; | |
dom+="<tr>"+ | |
"<td><input type='checkbox' class='check'/></td>"; | |
dom+="<td>"+goods.id+"</td>"+ | |
"<td>"+goods.name+"</td>"+ | |
"<td>"+goods.price+"</td>"+ | |
"<td>"+goods.brand+"</td>"; | |
dom+="<td>"+ | |
"<a href='#'>购买</a> "+ | |
"<button class='del'>删除</button>"+ | |
"</td>"+ | |
"</tr>"; | |
} |
$("#list").on('click','.del',function(){ | |
//当前点击的删除按钮的父辈元素且名字是tr的进行移除 | |
$(this).parents("tr").remove(); | |
}); | |
//点击全选,勾选列表中的所有的复选框 | |
$("#checkAll").click(function(){ | |
//获取当前复选框变成的状态 | |
var flag=$(this).prop("checked"); | |
if(flag){ | |
//全选被勾选了,把id为list里面所有的class为check的复选框设置勾选 | |
$("#list .check").prop("checked",true); | |
}else{ | |
//全选被取消了,把id为list里面所有的class为check的复选框设置勾选 | |
$("#list .check").prop("checked",false); | |
} | |
}) | |
//批量删除 | |
$("#batchDel").click(function(){ | |
//筛选class叫做check的复选框,而且状态被勾选,删除他们父元素的tr行 | |
$(".check:checked").parents("tr").remove(); | |
}) | |
}) |
//实际开发这些数据不是写死的,通过后端程序读取数据库的内容,然后使用JQ动态生成的! | |
//模拟一些数据,假设这些数据是通过后端程序读取的数据库内容 |