基于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 相关文章推荐
第十节 抽象方法和抽象类 [10]
Oct 09 PHP
选择PHP作为网站开发语言的原因分享
Jan 03 PHP
PHP APC的安装与使用详解
Jun 13 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
Jun 19 PHP
Yii使用CLinkPager分页实例详解
Jul 23 PHP
跟我学Laravel之请求与输入
Oct 15 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
php中的登陆login实例代码
Jun 20 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
详细解读php的命名空间(一)
Feb 21 PHP
php面向对象重点知识分享
Sep 27 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为php增加openssl模块的方法
2011/06/14 PHP
php中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
浅谈PHP匿名函数和闭包
2019/03/08 PHP
JQuery 获得绝对,相对位置的坐标方法
2010/02/09 Javascript
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
javascript中setInterval的用法
2015/07/19 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
JavaScript实现Excel表格效果
2020/02/07 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
简单介绍Python中的几种数据类型
2016/01/02 Python
numpy自动生成数组详解
2017/12/15 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
应聘自荐书
2013/10/08 职场文书
好的自荐信的要求
2013/10/30 职场文书
中专生毕业自我鉴定
2013/11/01 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
武夷山导游词
2015/02/03 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
小人国观后感
2015/06/11 职场文书
Go微服务项目配置文件的定义和读取示例详解
2022/06/21 Golang