基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能


Posted in PHP onFebruary 24, 2017

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

《————HTML————》

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

《————jsvascript————》

<script>
    //多选
    $("#all").click(function(){   
    if(this.checked){   
        $("#list :checkbox").attr("checked", true);  
      }else{   
        $("#list :checkbox").attr("checked", false); 
      }   
    });
    //当点到全选按钮
    $("#selectAll").click(function () { 
      $("#list :checkbox,#all").attr("checked", true);  
    });
    //全不选
    $("#unSelect").click(function () {  
      $("#list :checkbox,#all").attr("checked", false);  
    });
    //反选
    $("#reverse").click(function () {  
      $("#list :checkbox").each(function () {  
        $(this).attr("checked", !$(this).attr("checked"));  
      }); 
      allCheck(); 
    });
    //删除
    function del(){
      var valArr = new Array;
      $("#list :checkbox[checked]").each(function(i){ 
        valArr[i] = $(this).val(); 
      });
      var vals = valArr.join(',');//数组转换以逗号隔开的字符串 
      if (valArr.length == 0) {
        alert('请选择要删除的选项');
      }else{
        if (confirm("确定删除?删除后将无法恢复。")){
          var data={name:vals};
          $.ajax({
            type: "post",
            url: "{:U('College/School/faculty_del')}",//url为tp方法(控制器/方法)
            data:data,
            success: function(json) {
             var obj = eval('(' + json + ')');//返回回来的json转化为js对象
              if (parseInt(obj.counts) > 0) {
                alert(obj.des);
                location.reload();
               } else {
                alert(obj.des);
               }
              },
            error: function(XMLHttpRequest, textStatus) {
               alert("页面请求错误,请检查重试或联系管理员!\n" + textStatus);
             }
           });
        }
      }
    }
</script>

 《————PHP————》

public function faculty_del(){
    $fid = trim($_POST['name']);
    //以下为查询条件
    $bname['deletemark'] = 0;
    $res = $this->faculty_model
            ->where(array('fid'=>array('in',$fid)))
            ->save($bname);
      //查询条件为你的查询条件,我这边为逻辑删除,修改字段值就好
//    echo $this->faculty_model->getLastSql();
//    var_dump($res);
//    exit;
    if ($res) {
     $counts = "1";
     $des = "成功";
    } else {
     $counts = "0";
     $des = "失败";
    }
    $json_data = "{";
    $json_data.= "\"counts\":".json_encode($counts).",";
    $json_data.= "\"des\":".json_encode($des)."";
    $json_data.= "}";
    echo $json_data;
    exit;    
  }

由于是异步所以你发过来的数据都在控制台查看,当前页面没输出,不要去页面上去找。

以上所述是小编给大家介绍的基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
手把手教你使用DedeCms V3的在线采集图文教程
Apr 03 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
php学习之 数组声明
Jun 09 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
May 16 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
PHP获取当前所在目录位置的方法
Nov 26 PHP
PHP编程实现csv文件导入mysql数据库的方法
Apr 29 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
Apr 20 PHP
PHP实现用户登录的案例代码
May 10 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 PHP
PHP函数rtrim()使用中的怪异现象分析
Feb 24 #PHP
CakePHP框架Session设置方法分析
Feb 23 #PHP
cakephp2.X多表联合查询join及使用分页查询的方法
Feb 23 #PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
Feb 23 #PHP
php实现的XML操作(读取)封装类完整实例
Feb 23 #PHP
利用php生成验证码
Feb 23 #PHP
php实现base64图片上传方式实例代码
Feb 22 #PHP
You might like
php模板中出现空行解决方法
2011/03/08 PHP
php从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
学习ExtJS Panel常用方法
2009/10/07 Javascript
JS OOP包机制,类创建的方法定义
2009/11/02 Javascript
ExtJS 入门
2010/10/29 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
图解js图片轮播效果
2015/12/20 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
2018/03/08 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
Python Tkinter基础控件用法
2014/09/03 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
tensorflow实现测试时读取任意指定的check point的网络参数
2020/01/21 Python
python开发前景如何
2020/06/11 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
PHP如何去执行一个SQL语句
2016/03/05 面试题
Java提供了哪些企业应用编程接口
2015/02/13 面试题
给海归自荐信的建议
2013/12/13 职场文书
大型晚会策划方案
2014/02/06 职场文书
针对吵架老公保证书
2015/05/08 职场文书
对Keras自带Loss Function的深入研究
2021/05/25 Python
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL