Home >Backend Development >PHP Tutorial >php(Thinkphp)+jquery implements ajax multi-selection, inverse selection, and deletion of data function
It is recommended to have a basic knowledge of js, understand jquery, thinkphp, and without further ado, let’s start with the code
《————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; }
Because it is asynchronous, the data you send will be viewed on the console. There is no output on the current page, so do not go to the page to find it.
The above is what the editor introduces to you based on php (Thinkphp) + jquery to implement the ajax multi-select, invert, and delete data function. I hope it will be helpful to you. If you have any questions, please leave me a message. , the editor will reply to everyone in time. I would also like to thank you all for your support of the PHP Chinese website!
For more php(Thinkphp)+jquery implementation of ajax multi-selection, invert selection and delete data function, please pay attention to the PHP Chinese website for related articles!