• 基于php(Thinkphp)+jquery 实现ajax多选,反选,不选 删除数据 新手学习向


    jquery多选源码来源素材火http://www.sucaihuo.com/

    (有什么问题可以私本人邮箱1428937236@qq.com,也可加qq来时表明来意即可)

    建议有js基础,了解jquery,thinkphp,废话不说多下面就上代码

    《————HTML————》

     1 //thinkphp循环显示把data里fid赋予多选框
     2 <volist name="data" id="vo">
     3 <tr>
     4       <td><input type="checkbox" value="{$vo.fid}"/></td>//可在后面加td输入参数    
     5 </tr>
     6 </volist>
     7 <tr>
     8 <th width="80"><input type="checkbox" id="all"/>全选</th>
     9 <th width="80"><input type="button" value="全选" class="btn" id="selectAll" /></th>
    10 <th width="80"><input type="button" value="全不选" class="btn" id="unSelect" /></th>
    11 <th><input type="button" value="反选" class="btn" id="reverse" /></th> 
    12 <th width="180">
    13   <a href="javascript:void(0);" onclick="del()" title="删除选定数据">删除</a>
    14 </th> 
    15 </tr>

    《————jsvascript————》

     1 <script>
     2         //多选
     3         $("#all").click(function(){     
     4         if(this.checked){     
     5                 $("#list :checkbox").attr("checked", true);    
     6             }else{     
     7                 $("#list :checkbox").attr("checked", false);  
     8             }     
     9         });
    10         //当点到全选按钮
    11         $("#selectAll").click(function () {  
    12            $("#list :checkbox,#all").attr("checked", true);    
    13         });
    14         //全不选
    15         $("#unSelect").click(function () {    
    16            $("#list :checkbox,#all").attr("checked", false);    
    17         });
    18         //反选
    19         $("#reverse").click(function () {   
    20             $("#list :checkbox").each(function () {    
    21                 $(this).attr("checked", !$(this).attr("checked"));    
    22             });  
    23             allCheck();  
    24         });
    25         //删除
    26         function del(){
    27             var valArr = new Array;
    28             $("#list :checkbox[checked]").each(function(i){  
    29                 valArr[i] = $(this).val();  
    30            });
    31            var vals = valArr.join(',');//数组转换以逗号隔开的字符串 
    32             if (valArr.length == 0) {
    33                 alert('请选择要删除的选项');
    34             }else{
    35                 if (confirm("确定删除?删除后将无法恢复。")){
    36                     var data={name:vals};
    37                     $.ajax({
    38                        type: "post",
    39                        url: "{:U('College/School/faculty_del')}",//url为tp方法(控制器/方法)
    40 data:data, 41 success: function(json) { 42 var obj = eval('(' + json + ')');//返回回来的json转化为js对象 43 if (parseInt(obj.counts) > 0) { 44 alert(obj.des); 45 location.reload(); 46 } else { 47 alert(obj.des); 48 } 49 }, 50 error: function(XMLHttpRequest, textStatus) { 51 alert("页面请求错误,请检查重试或联系管理员! " + textStatus); 52 } 53 }); 54 } 55 } 56 57 } 58 </script>

     《————PHP————》

     1     public function faculty_del(){
     2         $fid = trim($_POST['name']);
     3         //以下为查询条件
     4         $bname['deletemark'] = 0;
     5         $res = $this->faculty_model
    ->where(array('fid'=>array('in',$fid)))
    ->save($bname);
    //查询条件为你的查询条件,我这边为逻辑删除,修改字段值就好
    6 // echo $this->faculty_model->getLastSql(); 7 // var_dump($res); 8 // exit; 9 if ($res) { 10 $counts = "1"; 11 $des = "成功"; 12 } else { 13 $counts = "0"; 14 $des = "失败"; 15 } 16 $json_data = "{"; 17 $json_data.= ""counts":".json_encode($counts).","; 18 $json_data.= ""des":".json_encode($des).""; 19 $json_data.= "}"; 20 echo $json_data; 21 exit; 22 }

    由于是异步所以你发过来的数据都在控制台查看,当前页面没输出,不要去页面上去找(不要问我为什么知道,我干过,想起来真蠢)

    作者:vajer

    -------------------------------------------

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    复习重温(类型转换)
    题解SDOI/SXOI2022 子串统计
    frp
    mysql 查询n天内的数据 涂涂
    mysql导入导出数据 涂涂
    查看端口占用+机器联通 涂涂
    java运行服务卡住排查——jstack 涂涂
    mysql链接错误,导致拒绝链接 涂涂
    linux后台执行程序 涂涂
    linux删除指定日期的文件(手动+自动) 涂涂
  • 原文地址:https://www.cnblogs.com/scy152417/p/6437412.html
Copyright © 2020-2023  润新知