//定义一个分页的方法
public function fenye(){
//查询满足条件的总条数
$count = M("regis")->count();
//设置每页显示的条数
$length = 3;
//求出总页数
$zong_page = ceil($count/$length);
//接收一下当前页
$page = empty($_GET['page'])? 1 : $_GET['page'];
//求出偏移量
$limit = ($page-1)*$length;
//求出每页的数据
$data = M("regis")->limit($limit,$length)->select();
//拼接数组
$arr['list'] = $data;
$arr['home_page'] = 1;
$arr['last_page'] = $zong_page;

$this->assign('arr',$arr);
$this->display('show');

}

public function fy(){
//查询满足条件的总条数
$count = M("regis")->count();
//设置每页显示的条数
$length = 3;
//求出总页数
$zong_page = ceil($count/$length);
//接收一下当前页
$page = empty($_GET['page'])? 1 : $_GET['page'];
//求出偏移量
$limit = ($page-1)*$length;
//求出每页的数据
$data = M("regis")->limit($limit,$length)->select();
//拼接数组
$arr['list'] = $data;
$arr['home_page'] = 1;
$arr['last_page'] = $zong_page;

echo json_encode($arr);
}

//定义一个批量删除的方法
public function delAll(){
//接收传值
$ids = I('get.id');
//拼接条件
$where['id'] = array('in',$ids);
if(M("regis")->where($where)->delete()){
echo 1;//成功输出1
}else{
echo 2;//失败输出2
}
}

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<table border="1">
<tr>
<th>选择</th>
<th>ID</th>
<th>用户名</th>
<th>密码</th>
<th>邮箱</th>
<th>昵称</th>
<th>注册时间</th>
</tr>

<tbody id="tb">
<foreach name="arr.list" item="v">
<tr id="{$v.id}">
<td><input type="checkbox" name="check" value="{$v.id}"></td>
<td>{$v.id}</td>
<td fd="uname">{$v.uname}</td>
<td fd="pwd">{$v.pwd}</td>
<td fd="email">{$v.email}</td>
<td fd="nickname">{$v.nickname}</td>
<td>{$v.add_time|date="Y-m-d H:i:s",###}</td>
</tr>
</foreach>
</tbody>
</table>
<!--当前页-->
<input type="hidden" name="current_page" id="current_page" value="{$arr.home_page}">
<!--尾页-->
<input type="hidden" name="last_page" id="last_page" value="{$arr.last_page}">

<a href="javascript:void(0);" class="page">首页</a>
<a href="javascript:void(0);" class="page">上一页</a>
<a href="javascript:void(0);" class="page">下一页</a>
<a href="javascript:void(0);" class="page">尾页</a>
<button id="del">删除</button>

<script src="__PUBLIC__/js/jquery.js"></script>
<script>
//给删除按钮一个点击事件
$("#del").click(function(){
//定义一个空的数组
var arr = [];
//定位一下选中的多选框
$("[type=checkbox]:checked").each(function(i){
arr[i] = $(this).val();
});

var ids = arr.toString();

//发起请求
$.get("{:U('Exam/delAll')}?id="+ids,function(data){
if(data==1){
//成功
for(var i=0;i<arr.length;i++){
$("#"+arr[i]).remove();
}
}else{
//失败
alert('删除失败');
return false;
}
});
});

$(".page").click(function(){
//获取当前页
var current_page = $("#current_page").val();
//获取一下最后一页
var last_page = $("#last_page").val();

//获取a标签的值
var a_val = $(this).text();

//判断页数
if(a_val=='首页'){
var page = 1;
}else if(a_val=='上一页'){
var page = parseInt(current_page)-1 <= 1 ? 1 : parseInt(current_page)-1;
}else if(a_val == '下一页'){
var page = parseInt(current_page)+1 >= last_page ? last_page : parseInt(current_page)+1;
}else{
var page = last_page;
}

//请求
$.get("{:U('Exam/fy')}?page="+page,function(data){
//把拿到的数据转化成真正的json
var res = JSON.parse(data);
var arr = res.list;
var str = '';
// console.log(arr);
for(var i=0;i<arr.length;i++){
str += "<tr>";
str += "<td><input type='checkbox' name='check' value='"+arr[i].id+"'></td>";
str += "<td>"+arr[i].id+"</td>";
str += "<td>"+arr[i].uname+"</td>";
str += "<td>"+arr[i].pwd+"</td>";
str += "<td>"+arr[i].email+"</td>";
str += "<td>"+arr[i].nickname+"</td>";
str += "<td>"+arr[i].add_time+"</td>";
str +="</tr>";
}

$("#tb").html(str);
$("#current_page").val(page);

});
});

// //先加载页面、再加载jq部分
// $(document).ready(function () {
// //给每一个td一个双击事件
// $("td").dblclick(function () {
// //取td这个标签的内容
// var td_val = $(this).text();
// //获取要修改的数据库字段
// var td_attr_val = $(this).attr("fd");

// //判断不支持的内容部分
// if(td_attr_val==undefined){
// alert('不支持修改这个内容');
// return false;
// }

// //继续,支持的了
// //获取自增id
// var tr_val = $(this).parents().attr("id");

// //想办法变成文本框
// $(this).html("<input type='text' id='cli"+td_val+"' value='"+td_val+"'>");

// //文本框失效事件
// $("#cli"+td_val).blur(function () {
// //获取新值
// var new_val = $(this).val();

// //请求后台
// $.post("{:U('Exam/jdjg')}",
// {
// //自增id
// id:tr_val,
// //字段名
// fd_name:td_attr_val,
// //字段的最新值
// new_val:new_val
// },
// function(data){
// //直接替换文本框
// $("#cli"+td_val).parents("td").html(new_val);
// });
// });

// });
// });
</script>
</body>
</html>

jquery实现分页+单删批删的更多相关文章

  1. ajax全选、全不选、反选、单删/批删

    <meta charset="utf-8"> <?php //链接数据库 $link = mysqli_connect('127.0.0.1','root','r ...

  2. jquery中的全选、反选、全不选和单删、批删

    HTML页面 <!doctype html><html lang="en"><head> <meta charset="UTF- ...

  3. laravel 7 H-ui模板ajax批删

    1,HTML页面写一个button按钮 <a href="javascript:;" onclick="deleteAll()" class=" ...

  4. 雷林鹏分享:jQuery EasyUI 表单 - 过滤下拉数据网格

    jQuery EasyUI 表单 - 过滤下拉数据网格 下拉数据网格(Combogrid)组件和下拉框(Combobox)组件的共同点是,除了都具有下拉面板以外,它们都是基于数据网格(Datagrid ...

  5. 雷林鹏分享:jQuery EasyUI 表单 - 创建异步提交表单

    jQuery EasyUI 表单 - 创建异步提交表单 本教程向您展示如何通过 easyui 提交一个表单(Form).我们创建一个带有 name.email 和 phone 字段的表单.通过使用 e ...

  6. 雷林鹏分享:jQuery EasyUI 表单 - 创建树形下拉框

    jQuery EasyUI 表单 - 创建树形下拉框 树形下拉框(ComboTree)是一个带有下列树形结构(Tree)的下拉框(ComboBox).它可以作为一个表单字段进行使用,可以提交给远程服务 ...

  7. 雷林鹏分享:jQuery EasyUI 表单 - 表单验证

    jQuery EasyUI 表单 - 表单验证 本教程将向您展示如何验证一个表单.easyui 框架提供一个 validatebox 插件来验证一个表单.在本教程中,我们将创建一个联系表单,并应用 v ...

  8. 雷林鹏分享:jQuery EasyUI 表单 - 格式化下拉框

    jQuery EasyUI 表单 - 格式化下拉框 本教程向您展示如何创建一个简单的下拉框(Combobox),让它在下拉框中显示图片项.您可以在下拉框(combobox)上使用 formatter ...

  9. jQuery Pagination分页插件

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. MySQL产生随机字符

    MySQL产生随机字符 UUID简介 UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Softw ...

  2. Java基础知识_毕向东_Java基础视频教程笔记(26 反射)

    Java反射机制: 是在运行状态中,对于任意一个类(class)文件,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性.这种动态获取的信息以及动态调用对象的方法的功 ...

  3. CRM 2016 升级CRM365之注意事项

    https://docs.microsoft.com/zh-cn/previous-versions/dynamicscrm-2016/deployment-administrators-guide/ ...

  4. /storage/xx-xx/, /sdcard, /mnt/sdcard 三者的区别

    本文针对Android 7.1 /sdcard是/mnt/sdcard的符号链,指向/storage/self/primary, /mnt/sdcard,也是符号链,指向/storage/self/p ...

  5. 关于elment-ui树形控件Tree的使用

    如果简单使用的tree树形控件,按照Element ui Tree 树形控件 官方文档使用即可,基本上能够完成大部分的需求. 但是如果需要对树形结构进行额外操作,仅仅根据官方文档提供的方案的话,可能就 ...

  6. webkitAnimationEnd动画事件

    春节终于过完了,自己春节似乎过的有点大,过完春节之后,态度一直没有调整好,总有一股过节的情绪,没有完全进入学习和工作的状态来.继续调整当中…… 这两天项目中遇到一个小需求,十分类似于支付宝蚂蚁森林给小 ...

  7. 20165205 2017-2018-2《Java程序设计》结对编程一 第一周总结

    20165205 2017-2018-2<Java程序设计>结对编程一 第一周总结 需求分析 对输入的算式进行计算,要求满足一下条件: 支持整数运算,如2+5,47+7865. 支持多运算 ...

  8. python-性能测试

    目录: 1.timeit 1.1 在命令后调用timeit 1.2 在代码中使用 1.3 创建计时器实例,通过autorange获得循环次数 1.4 Wall时间和CPU时间 2.profile和cP ...

  9. 获取get请求后面的参数

    var str = "www.baidu.com?id=1&name=zhangsan"; var data = str.split("?"); con ...

  10. <Linux> SSH配置之后 SHH slave1 测试 error:SSH: command not found

    首先要查看一下ssh命令存在何处 # which ssh /usr/bin/ssh 使用ssh的绝对路径 # /usr/bin/ssh slave1Welcome to Ubuntu 16.04 LT ...