jquery ajax实现批量删除具体思路及代码

显示页面代码
// 全选 
$("#allChk").click(function() { 
$("input[name='subChk']").prop("checked",this.checked); 
}); 
// 单选 
//var subChk = $("input[name='subChk']") 
//subChk.click(function() { 
//$("#allChk").prop("checked", subChk.length == subChk.filter(":checked").length ? true:false); 
//}); 
 
$("#del_model").click(function() { 
// 判断是否至少选择一项 
var checkedNum = $("input[name='subChk']:checked").length; 
if(checkedNum == 0) { 

return; 

// 批量选择 
if(confirm("确定要删除所选项目?")) { 
var checkedList = new Array(); 
$("input[name='subChk']:checked").each(function() { 
checkedList.push($(this).val()); 
}); 
$.ajax({ 
type: "POST", 
url: "del_phonelist", 
data: {ids:checkedList.toString()}, 
 success: function(result) { 
$("[name ='subChk']:checkbox").attr("checked", false); 
window.location.reload(); 

}); 

}); 
控制器里面的代码
public function del_phonelist(Request $request)
{
$ids $request->ids;
$id = explode(',',$ids);
foreach($id as $k=>$v){
$res = PhoneblackModel::where(['id'=>$v])->delete();
}
// $data =PhoneblackModel::where(['id'=>$data['id']])->delete();
if($res){
return response()->json(['status' => 200'message' => '删除成功']);
}else{
return response()->json(['status' => 500'message' => '删除失败']);
}
}

回调函数,在请求完成后需要进行的操作:此处是把选中的checkbox去掉(因为是用到了freemarker的list循环,去掉是数据后checkbox序号变化,还有有相应未知的checkbox被选中,需要去掉)

success: function(result) { 
$("[name = 'items']:checkbox").attr("checked", false); 
window.location.reload(); 
全选

版权声明:本文为ouxiaoxian原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。