//定义一个分页的方法
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. Vue Admin 后台管理

    https://segmentfault.com/a/1190000009188689

  2. 修改IP和DNS的dos命令

    修改IP,掩码,网关命令: netsh interface ip set address "本地连接" static 192.168.3.188 255.255.255.0 192 ...

  3. python文件相关

    文件操作基本流程初探 f = open('chenli.txt') #打开文件 first_line = f.readline() print('first line:',first_line) #读 ...

  4. spring boot整合quartz实现多个定时任务

        版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/liuchuanhong1/article/details/78543574 最近收到了很多封邮件, ...

  5. python-异常

    实例:https://www.cnblogs.com/tangpg/p/7992979.html 在系统内部,解释器使用一种被称为 ‘块栈’的结构处理异常逻辑.它和执行栈一起被栈帧管理.块栈在运行期间 ...

  6. 8.2.1.2-MySQL如何优化 WHERE 语句

    这一章节讨论能够在WHERE处理语句中使用的优化. 样例使用SELECT 语句, 但是同样适用于DELETE,UPDATE语句中的WHERE语句. 注意 因为MYSQL优化器在不断的发展,MySQL执 ...

  7. 《算法》第五章部分程序 part 1

    ▶ 书中第五章部分程序,包括在加上自己补充的代码,字母表类,字符串低位优先排序(桶排) ● 字母表类 package package01; import edu.princeton.cs.algs4. ...

  8. View Stack容器,按钮选择子容器

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  9. Kubernetes的ConfigMap说明

    这篇博文,我们来说一说,关于在kubernetes的pod中自定义配置的问题. 我们知道,在几乎所有的应用开发中,都会涉及到配置文件的变更,比如说在web的程序中,需要连接数据库,缓存甚至是队列等等. ...

  10. APPium-Xpath,swipe练习

    写自动化测试,实现 滚动到 口碑最佳 部分,并且打印出所有 口碑最佳 部分的5个应用名称 # coding:utf-8from appium import webdriverimport time d ...