基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
建议有js基础,了解jquery,thinkphp,废话不说多下面就上代码
《————HTML————》
//thinkphp循环显示把data里fid赋予多选框 <volistname="data"id="vo"> <tr> <td><inputtype="checkbox"value="{$vo.fid}"/></td>//可在后面加td输入参数 </tr> </volist> <tr> <thwidth="80"><inputtype="checkbox"id="all"/>全选</th> <thwidth="80"><inputtype="button"value="全选"class="btn"id="selectAll"/></th> <thwidth="80"><inputtype="button"value="全不选"class="btn"id="unSelect"/></th> <th><inputtype="button"value="反选"class="btn"id="reverse"/></th> <thwidth="180"> <ahref="javascript:void(0);"rel="externalnofollow"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(); }); //删除 functiondel(){ varvalArr=newArray; $("#list:checkbox[checked]").each(function(i){ valArr[i]=$(this).val(); }); varvals=valArr.join(',');//数组转换以逗号隔开的字符串 if(valArr.length==0){ alert('请选择要删除的选项'); }else{ if(confirm("确定删除?删除后将无法恢复。")){ vardata={name:vals}; $.ajax({ type:"post", url:"{:U('College/School/faculty_del')}",//url为tp方法(控制器/方法) data:data, success:function(json){ varobj=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————》
publicfunctionfaculty_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多选反选不选删除数据功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!