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

发布时间 - 2026-01-10 23:15:37    点击率:

建议有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多选反选不选删除数据功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# thinkphp  # jquery  # ajax  # 多选删除  # jquery全选反选  # Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例  # Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解  # tp5(thinkPHP5框架)使用DB实现批量删除功能示例  # thinkPHP利用ajax异步上传图片并显示、删除的示例  # ThinkPHP框架实现用户信息查询更新及删除功能示例  # ThinkPHP删除栏目(实现批量删除栏目)  # thinkphp框架实现删除和批量删除  # thinkPHP删除前弹出确认框的简单实现方法  # 基于ThinkPHP删除目录及目录文件函数  # 全选  # 多选  # 不选  # 小编  # 都在  # 在此  # 就好  # 要去  # 去找  # 可在  # 给大家  # 请选择  # 后将  # 转化为  # 所述  # 给我留言  # 点到  # 感谢大家  # 就上  # 重试 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android仿QQ列表左滑删除操作  如何自定义建站之星模板颜色并下载新样式?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  网站制作价目表怎么做,珍爱网婚介费用多少?  如何在香港服务器上快速搭建免备案网站?  如何在阿里云香港服务器快速搭建网站?  详解jQuery中的事件  Laravel如何使用.env文件管理环境变量?(最佳实践)  Laravel Docker环境搭建教程_Laravel Sail使用指南  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  Laravel如何实现文件上传和存储?(本地与S3配置)  Linux安全能力提升路径_长期防护思维说明【指导】  微信小程序 五星评分(包括半颗星评分)实例代码  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Laravel集合Collection怎么用_Laravel集合常用函数详解  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  制作旅游网站html,怎样注册旅游网站?  Laravel安装步骤详细教程_Laravel环境搭建指南  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  如何在搬瓦工VPS快速搭建网站?  Laravel中的Facade(门面)到底是什么原理  详解Android——蓝牙技术 带你实现终端间数据传输  如何快速查询网站的真实建站时间?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  简历在线制作网站免费版,如何创建个人简历?  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  如何快速搭建安全的FTP站点?  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  新三国志曹操传主线渭水交兵攻略  Android自定义控件实现温度旋转按钮效果  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  网站建设保证美观性,需要考虑的几点问题!  如何在云主机快速搭建网站站点?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  北京网站制作公司哪家好一点,北京租房网站有哪些?  JS中对数组元素进行增删改移的方法总结  如何快速搭建虚拟主机网站?新手必看指南  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  html5的keygen标签为什么废弃_替代方案说明【解答】  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  如何在宝塔面板中创建新站点?  bing浏览器学术搜索入口_bing学术文献检索地址  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  Laravel如何处理和验证JSON类型的数据库字段  阿里云高弹*务器配置方案|支持分布式架构与多节点部署