基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
2018-09-27 09:43
建议有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对象nts) > 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(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
文章链接:http://soscw.com/index.php/essay/18067.html