时间:2021-07-01 10:21:17 帮助过:19人阅读
《————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多选反选不选删除数据功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对PHP中文网的支持!
更多php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能相关文章请关注PHP中文网!