php教程

超轻量级php框架startmvc

基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能

更新时间:2020-03-17 22:21:31 作者:startmvc
建议有js基础,了解jquery,thinkphp,废话不说多下面就上代码《————HTML————》//thinkphp循

建议有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对象
 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; 
 }

由于是异步所以你发过来的数据都在控制台查看,当前页面没输出,不要去页面上去找。

以上所述是小编给大家介绍的基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

thinkphp jquery ajax thinkphp 多选删除 jquery全选反选