您当前的位置:首页 > php技术栈网站首页php技术栈
php处理复选框全选全不选批量删除功能
发布时间:2020-08-17编辑:九零後约定查看次数:4970
前端代码实现:
<div style="position:absolute; top: 40px;"><a class="btn btn-danger" href="javascript:void(0)" onclick="datadel()" style="float:left;line-height: 10px;margin-top: 2px;">{pigcms{:L_("批量删除")}</a></div>
<div id="shopList" class="grid-view" style="margin-top: 50px;">
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th width="5"><input type="checkbox" id="allChecks" onclick="ckAll()"/></th>
<th width="50">{pigcms{:L_("序号")}</th>
<th width="50">{pigcms{:L_("自定义课程名称")}</th>
<th width="60">{pigcms{:L_("岗位名称")}</th>
<th width="50">{pigcms{:L_("分类名称")}</th>
<th width="120" class="am-text-middle">{pigcms{:L_("操作")}</th>
</tr>
</thead>
<tbody>
<if condition="$store_list">
<volist name="store_list" id="vo">
<tr class="<if condition=" $i%2 eq 0">odd
<else />even
</if>">
<td width="5"><input type="checkbox" value="{pigcms{$vo.id}" name="check"/></td>
<td>{pigcms{$vo.id}</td>
<td>{pigcms{$vo.name}</td>
<td>{pigcms{$vo.job_name}</td>
<if condition="$vo.category_id eq 167">
<td>实操实训</td>
<elseif condition="$vo.category_id eq 155" />
<td>技能理论知识</td>
<else />
<td class="am-text-middle">通用职业素质</td>
</if>
<td class="am-text-middle">
<div class="tpl-table-black-operation">
<a href="{pigcms{:U('Config/course_edit',array('id'=>$vo['id']))}">{pigcms{:L_("修改课程名称")}</a>
<a href="{pigcms{:U('Config/course_detail',array('id'=>$vo['id'], 'name'=>$vo['name']))}" target="_blank">{pigcms{:L_("查看详情")}</a>
<a title="{pigcms{:L_(" 删除")}" class="red item-delete tpl-table-black-operation-del" href="{pigcms{:U('Config/course_del',array('id'=>$vo['id']))}">{pigcms{:L_("删除")}</a>
</div>
</td>
</tr>
</volist>
<else />
<tr class="odd">
<td class="button-column" colspan="11">{pigcms{:L_("无内容")}</td>
</tr>
</if>
</tbody>
</table>
pigcms{$pagebar}
</div>js代码实现:
//全选
function ckAll(){
var flag=document.getElementById("allChecks").checked;
var cks=document.getElementsByName("check");
for(var i=0;i<cks.length;i++){
cks[i].checked=flag;
}
}
/*批量删除*/
function datadel() {
layer.confirm('您确定要删除这些条数据吗?', {
btn: ['确定','取消'] //按钮
}, function() {
var cks=document.getElementsByName("check");
var str="";
//拼接所有的id
for(var i=0;i<cks.length;i++){
if(cks[i].checked){
str+=cks[i].value+"&";
}
}
//去掉字符串末尾的‘&’
str = str.substring(0, str.length-1);
$.ajax({
url: "{pigcms{:U('Config/batch_del_course')}",
type: "POST",
data: {
"str": str
},
dataType: "json",
success: function (result) {
if(result.status == 0) {
layer.msg(result.message, {icon: 5},function(){layer.closeAll();window.location.reload();});
return false;
}
if(result.status == 1) {
layer.msg(result.message, {icon: 6},function(){layer.closeAll();window.location.reload();});
return false;
}
if(result.status == 2) {
layer.msg(result.message, {icon: 5},function(){layer.closeAll();window.location.reload();});
return false;
}
},
beforeSend: function() {
var index = layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
},
});
})
}PHP代码实现:
/**
* 批量删除课程
*/
public function batch_del_course()
{
$str = htmlspecialchars_decode($_POST['str']);
//判断是否勾选数据
if ($str!=="") {
$id = explode('&', $str);//将字符串转化为数组
foreach($id as $k)
{
$condition['id'] = $k;
$merchant_store_course = D('merchant_store_course');
$res = $merchant_store_course->where($condition)->delete();
}
if ($res) {
$result = array(
'status' => 1,
'message' => '删除成功!'
);
echo json_encode($result);
} else {
$result = array(
'status' => 0,
'message' => '删除失败!'
);
echo json_encode($result);
}
} else {
$result = array(
'status' => 2,
'message' => '请勾选数据!'
);
echo json_encode($result);
}
}示例图如下显示:


关键字词:复选框,全选,全不选,批量删除数据
上一篇: 关于百度编辑器UEditor中图片手机端自适应,手机端展示的图片超出屏幕的问题
下一篇: 没有下一篇了