基于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 相关文章推荐
APMServ使用说明
Oct 23 PHP
php array_unique之后json_encode需要注意
Jan 02 PHP
php !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
Jan 07 PHP
php中使用preg_match_all匹配文章中的图片
Feb 06 PHP
Laravel 4 初级教程之安装及入门
Oct 30 PHP
PHP通过插入mysql数据来实现多机互锁实例
Nov 05 PHP
windows下配置php5.5开发环境及开发扩展
Dec 25 PHP
php文件夹的创建与删除方法
Jan 24 PHP
PHP单例模式详细介绍
Jul 01 PHP
Yii数据库缓存实例分析
Mar 29 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
Oct 19 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
Apr 23 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多进程之pcntl_fork的实例详解
2017/10/15 PHP
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
jquery-mobile基础属性与用法详解
2016/11/23 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
动态加载css方法实现和深入解析
2017/01/18 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
2017/07/05 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
VuePress 快速踩坑小结
2019/02/14 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
Python实现LRU算法的2种方法
2015/06/24 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
详解python UDP 编程
2020/08/24 Python
Python requests上传文件实现步骤
2020/09/15 Python
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
yy婚礼司仪主持词
2014/03/14 职场文书
房屋出租委托书格式
2014/09/23 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
员工工作心得体会
2019/05/07 职场文书
2019自荐信范文集锦!
2019/07/03 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python