建议有js基础,了解jquery,thinkphp,废话不说多下面就上代码
《————HTML————》
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//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————》
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
< 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————》
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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多选反选不选删除数据功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/scy152417/archive/2017/02/24/6437412.html