基于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 相关文章推荐
模仿OSO的论坛(一)
Oct 09 PHP
php 保留小数点
Apr 21 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
邮箱正则表达式实现代码(针对php)
Jun 21 PHP
php json_encode值中大括号与花括号区别
Sep 30 PHP
ThinkPHP模板Switch标签用法示例
Jun 30 PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 PHP
php判断两个日期之间相差多少个月份的方法
Jun 18 PHP
PHP中的密码加密的解决方案总结
Oct 26 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
Jun 07 PHP
Yii2框架可逆加密简单实现方法
Aug 25 PHP
PHP实现微信提现功能(微信商城)
Nov 21 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中mb_convert_encoding与iconv函数的深入解析
2013/06/21 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
2014/07/29 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
几种tab切换详解
2017/02/03 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
vue.js利用defineProperty实现数据的双向绑定
2017/04/28 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
vue 子组件向父组件传值方法
2018/02/26 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
Python采用Django制作简易的知乎日报API
2016/08/03 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
对Python中Iterator和Iterable的区别详解
2018/10/18 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
strlen的几种不同实现方法
2013/05/31 面试题
广告艺术设计专业自荐书
2014/07/08 职场文书
2014年档案管理工作总结
2014/11/17 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
任命书怎么写
2015/03/02 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
运动员加油词
2015/07/18 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
2021/04/03 Javascript