Home >Backend Development >PHP Tutorial >Based on Thinkphp and jquery, realize the function of ajax multi-select, invert the selection and delete data.

Based on Thinkphp and jquery, realize the function of ajax multi-select, invert the selection and delete data.

不言
不言Original
2018-06-08 13:51:191638browse

This article mainly introduces the relevant information on implementing the ajax multi-select, invert, and deselect data function based on php (Thinkphp) jquery. Friends in need can refer to the following

It is recommended to have a js foundation and understand jquery and thinkphp , without further ado, here’s 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(&#39;,&#39;);//数组转换以逗号隔开的字符串 
      if (valArr.length == 0) {
        alert(&#39;请选择要删除的选项&#39;);
      }else{
        if (confirm("确定删除?删除后将无法恢复。")){
          var data={name:vals};
          $.ajax({
            type: "post",
            url: "{:U(&#39;College/School/faculty_del&#39;)}",//url为tp方法(控制器/方法)
            data:data,
            success: function(json) {
             var obj = eval(&#39;(&#39; + json + &#39;)&#39;);//返回回来的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[&#39;name&#39;]);
    //以下为查询条件
    $bname[&#39;deletemark&#39;] = 0;
    $res = $this->faculty_model
            ->where(array(&#39;fid&#39;=>array(&#39;in&#39;,$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 the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

thinkPHP3.2.3 combined with Laypage to realize the paging function

##ThinkPHP and Ajax realize the secondary linkage drop-down Menu

Based on anti-ajax push, real-time message push function implemented by PHP

The above is the detailed content of Based on Thinkphp and jquery, realize the function of ajax multi-select, invert the selection and delete data.. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn