基于php(Thinkphp)+jquery 实现ajax多选,反选,不选 删除数据 新手学习向

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于php(Thinkphp)+jquery 实现ajax多选,反选,不选 删除数据 新手学习向相关的知识,希望对你有一定的参考价值。

jquery多选源码来源素材火http://www.sucaihuo.com/

(有什么问题可以私本人邮箱[email protected],也可加qq来时表明来意即可)

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

《————html————》

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

《————jsvascript————》

 

 1 <script>
 2         //多选
 3         $("#all").click(function(){     
 4         if(this.checked){     
 5                 $("#list :checkbox").attr("checked", true);    
 6             }else{     
 7                 $("#list :checkbox").attr("checked", false);  
 8             }     
 9         });
10         //当点到全选按钮
11         $("#selectAll").click(function () {  
12            $("#list :checkbox,#all").attr("checked", true);    
13         });
14         //全不选
15         $("#unSelect").click(function () {    
16            $("#list :checkbox,#all").attr("checked", false);    
17         });
18         //反选
19         $("#reverse").click(function () {   
20             $("#list :checkbox").each(function () {    
21                 $(this).attr("checked", !$(this).attr("checked"));    
22             });  
23             allCheck();  
24         });
25         //删除
26         function del(){
27             var valArr = new Array;
28             $("#list :checkbox[checked]").each(function(i){  
29                 valArr[i] = $(this).val();  
30            });
31            var vals = valArr.join(‘,‘);//数组转换以逗号隔开的字符串 
32             if (valArr.length == 0) {
33                 alert(‘请选择要删除的选项‘);
34             }else{
35                 if (confirm("确定删除?删除后将无法恢复。")){
36                     var data={name:vals};
37                     $.ajax({
38                        type: "post",
39                        url: "{:U(‘College/School/faculty_del‘)}",//url为tp方法(控制器/方法)
40 data:data, 41 success: function(json) { 42 var obj = eval(‘(‘ + json + ‘)‘);//返回回来的json转化为js对象 43 if (parseInt(obj.counts) > 0) { 44 alert(obj.des); 45 location.reload(); 46 } else { 47 alert(obj.des); 48 } 49 }, 50 error: function(XMLHttpRequest, textStatus) { 51 alert("页面请求错误,请检查重试或联系管理员!\n" + textStatus); 52 } 53 }); 54 } 55 } 56 57 } 58 </script>

 《————PHP————》

 1     public function faculty_del(){
 2         $fid = trim($_POST[‘name‘]);
 3         //以下为查询条件
 4         $bname[‘deletemark‘] = 0;
 5         $res = $this->faculty_model
->where(array(‘fid‘=>array(‘in‘,$fid)))
->save($bname);
//查询条件为你的查询条件,我这边为逻辑删除,修改字段值就好
6 // echo $this->faculty_model->getLastSql(); 7 // var_dump($res); 8 // exit; 9 if ($res) { 10 $counts = "1"; 11 $des = "成功"; 12 } else { 13 $counts = "0"; 14 $des = "失败"; 15 } 16 $json_data = "{"; 17 $json_data.= "\"counts\":".json_encode($counts).","; 18 $json_data.= "\"des\":".json_encode($des).""; 19 $json_data.= "}"; 20 echo $json_data; 21 exit; 22 }

由于是异步所以你发过来的数据都在控制台查看,当前页面没输出,不要去页面上去找(不要问我为什么知道,我干过,想起来真蠢)





以上是关于基于php(Thinkphp)+jquery 实现ajax多选,反选,不选 删除数据 新手学习向的主要内容,如果未能解决你的问题,请参考以下文章

PHP 实现“贴吧神兽”验证码

jquery+thinkphp实现跨域抓取数据的方法

PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】

基于PHP语言ThinkPhp6+Layui数据可视化平台

基于PHP语言ThinkPhp6+Layui的OA办公系统

一例基于thinkphp,jquery和bootstrap渲染的查询数据分页器