博客列表 >批量删除checkbox

批量删除checkbox

鑫仔的博客
鑫仔的博客原创
2018年11月29日 19:17:591843浏览

这是一个通过异步来批量删除记录的方法。首先给每条记录加个勾选框,也就是checkbox。

当checkbox被勾选中时,该勾选框的值为checked,通过jq选择器把含checked属性的checkbox选出来并获取该值,并放进一个数组。

在异步提交中把数组变成json字符串传到php文件中进行处理,数组到达PHP文件中的格式为["123","321"],这时候就需要除去[]这符号通过trim函数,然后就进行数据库操作,完成返回成功1 或失败0。

最后在回调函数中动态去掉选中的纪录(在数据库中已经删除成功)


前端代码:

<a class="btn btn-primary btn-xs" onclick="deletes()">删除勾选项</a>

<input type="checkbox" name="check" value="1">

JavaScript代码:

function deletes() {
   var str =[];
   $("input[name='check']:checkbox").each(function(){
       if($(this).prop("checked")==true){
           str.push($(this).val());
       }
   });
   if(confirm("确定要删除么?")){
       $.post("action.php",
           {
               action:'deleteusers',
               userid:JSON.stringify(str)
           },
           function(result){
               if(result){
                   alert('删除成功!');
                   $("input[name='check']:checkbox").each(function(){
                       if($(this).prop("checked")==true){
                           $(this).parents('tr').remove();
                       }
                   });
               }else {
                   alert('删除失败!')
               }
           });
   }
}


php代码:

$userid = "";

       if (isset($_REQUEST['userid']) && $_REQUEST['userid'] != "") {
           $userid = trim($_REQUEST['userid'],"[]");
       }
       $sql = "delete from yufuyuan.myuser where id IN ({$userid})";
//        echo $sql;
       $res = $pdo->exec($sql);
       if ($res) {
           echo 1;
       } else {
           echo 0;
       }

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议