基于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多选反选不选删除数据功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!