以Nation表为例,将Nation表显示在页面上,每一行数据前面加上复选框,后面加上查看详情,点击以弹窗形式显示每一行的数据,并且在表格最后一行加上全选复选框,点击选中全部数据,后面跟一个批量删除按钮,点击删除选中项,如图:

主页面:需要用到弹窗插件,将js与css文件加载过来

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="../jquery-1.11.2.min.js"></script>
<script src="../tanchuang/tanchuang.js"></script> <style type="text/css">
.xq{ width:80px; height:30px; background-color:#06C; line-height:30px; color:#FFF;}
.xq:hover{ cursor:pointer; background-color:#F60; color:#FFF;}
</style>
<link href="../tanchuang/tanchuang.css" rel="stylesheet" type="text/css" />
</head> <body>
<h1>Nation表</h1>
<table id="biao" width="800px" border="1" cellpadding="0" cellspacing="0"> </table> </body>
</html>
<script type="text/javascript">
$(document).ready(function(e) { Show();
function Show() //将各个事件放到一个方法里,这样调用这一个方法就可以加上各个事件了
{
$.ajax({
async:false,
//url:"testchuli.php",
url:"ChuLi1.php",
data:{type:0}, //将三个处理页面放入一个页面,需要传一个参数type
type:"POST",
dataType:"JSON",
success: function(data){
var str= "<tr height='30px'><td>民族代号</td><td>民族名称</td><td>查看详情</td></tr>";
for(var k in data)
{
str+="<tr><td><input type='checkbox' value='"+data[k][0]+"' class='ck' />"+data[k][0]+"</td><td>"+data[k][1]+"</td><td><div class='xq' bs='"+data[k][0]+"'>查看详情</div></td></tr>";
}
str+="<tr height='30px'><td colspan='3'><input type='checkbox' id='qx' /> 全选 <input type='button' id='btn' value='批量删除' /></td></tr>";
$("#biao").html(str);
}
}); //查看详情
$(".xq").click(function(){
//取主键值
var code = $(this).attr("bs");
$.ajax({
//url:"xqchuli.php",
url:"ChuLi1.php",
data:{code:code,type:1},
type:"POST",
dataType:"TEXT",
success: function(data){ var lie =data.split("^");
var html = "<div>民族代号:"+lie[0]+"</div><div>民族名称:"+lie[1]+"</div>"; var win = new Window({ width : 400, //宽度
height : 500, //高度
title : '详细信息', //标题
content : html, //内容
isMask : true, //是否遮罩
buttons : "", //按钮
isDrag:true, //是否移动
});
}
});
}) //全选
$("#qx").click(function(){
//全选按钮选中状态,索引0取document对象
var xz = $(this)[0].checked;
//操作所有复选框的选中状态
var ck =$(".ck");
ck.prop("checked",xz);
}) //批量删除
$("#btn").click(function(){
//找选中的主键值,用循环遍历选中的主键值
var ck =$(".ck");
var str ="";
for(var i=0;i<ck.length;i++)
{
if(ck.eq(i).prop("checked"))
{
str+=ck.eq(i).val()+"','";
}
}
str= str.substr(0,str.length-3); //分隔符占3个字符,截取字符串,去掉最后的"','",这样正好匹配SQL语句 $.ajax({
//url:"Delete.php",
url:"ChuLi1.php",
data:{str:str,type:2},
type:"POST",
dataType:"TEXT",
success: function(data){
alert(data); Show();
}
});
})
}
}); </script>

将显示数据,查看详情与批量删除三个处理页面合成一个页面,只需传一个参数type:

<?php
include("../DB.class.php");
$db = new DB();
$type = $_POST["type"];
//用switch case比if else清晰
switch($type)
{
case 0:
$sql ="select * from Nation";
echo $db->JsonQuery($sql);
break;
case 1:
$code = $_POST["code"];
$sql = "select * from Nation where Code = '{$code}'";
echo $db->StrQuery($sql);
break;
case 2:
if(!empty($_POST["str"]))
{
$str = $_POST["str"];
$sql = "delete from Nation where Code in ('{$str}')";
//echo $sql; 输出SQL语句看是否正确
if($db->Query($sql,1))
{
echo "删除成功!";
}
else
{
echo "删除失败!";
}
}
else
{
echo "请选择要删除的项!";
}
break;
default:
echo "";
}

AJAX实现弹窗显示详情,全选和批量删除的更多相关文章

  1. php--jquery操作全选、批量删除、加减行

  2. MVC3学习:利用mvc3+ajax实现全选和批量删除

    本例数据库操作使用EF code first; 先利用mvc自带的模板,先生成一个list视图,然后再手动添加复选框和删除按钮 <table> <tr> @*在标题行添加一个全 ...

  3. 关于jquery全选反选 批量删除的一点心得

    废话不多说直接上代码: 下面是jsp页面的html代码: <table id="contentTable" class=""> <thead& ...

  4. angularJS 全选反选批量删除

    <th> <label for="flag"> <span ng-hide="master">全选</span> ...

  5. jquery操作全选、批量删除、加减行

    --------------------------------------------------------------------------------------- html静态页面 --- ...

  6. 作业:汽车查询--弹窗显示详情,批量删除 ajax做法(0521)

    作业:显示以下界面: 作业要求: 1.查看详细信息,以弹窗的形式显示,使用ajax2.批量删除 一.主页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  7. 作业:汽车查询--弹窗显示详情,批量删除 php做法(0521)

    作业:显示以下界面: 作业要求: 1.查看详细信息,以弹窗的形式显示,使用ajax2.批量删除 一.主页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XH ...

  8. JavaScript-checkbox标签-隐藏、显示、全选、取消和反选等操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]

    [虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...

随机推荐

  1. c++ using Handle Class Pattern to accomplish implementation hiding

    Reference material: Thinking In C++ 2nd eidition chapter 5 section "Handle classes" If the ...

  2. C - Aladdin and the Flying Carpet 有多少种长方形满足面积为a(<=10^12),且最短边>=b;长方形边长为整数,且一定不可以是正方形。

    /** 题目:C - Aladdin and the Flying Carpet 链接:https://vjudge.net/contest/154246#problem/C 题意:有多少种长方形满足 ...

  3. 配置LANMP环境(3)-- 安装anmp前准备与实用软件安装

    一.安装配置vim 1.安装 yum -y install vim* 2.创建文件夹 mkdir -p /etc/vim/ 3.配置 vim ~/.vimrc  "插入模式时 光标的上下左右 ...

  4. 关于搭建HTTPS服务器服务

    关于 HTTPS 的基本原理大家都已经不再陌生,今天和大家说说如何搭建一个支持 HTTPS 的服务端. 服务端的 HTTPS HTTPS 已经几乎成为了当前互联网推荐的通信方式,它能最大化保证信息传输 ...

  5. 图像增强之DDE---基于红外图像的数字图像细节增强DDE

    (1)DDE应用背景 (2)DDE算法简介 (3)DDE 实现 (4)DDE 总结和不足 ----------author:pkf -----------------time:2-9 -------- ...

  6. Mustache(2)

    Web 模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,通常是标准的 HTML 文档.当然不同的开发语言有不同模板引擎,如 Javascript 下的 Hogan . ...

  7. ajax的适用场景

    1.适用:基本所有的网站都有涉及到. 2.典型使用场景: 动态加载数据,按照需要取数据 改善用户体验 电子商务应用 访问第三方服务 数据局部刷新

  8. 守护进程监控tomcat并自己主动重新启动

    昨天的tomcat问题.一天挂了3,4回,受不了了决定写个监控tomcat进程并自己主动重新启动的脚本! 在网上查资料.主要分为两类:一类是定时重新启动tomcat,这当然不是我须要的.还有一类是监控 ...

  9. c语言 常用知识点

    强制类型转换 (int)(x+y) 输入 scanf("a=%f,b=%f",&a,&b);  a=1,b=1 char a; a=getchar(); 输入一个字 ...

  10. 基于ormlite创建数据库存储数据案例

    一直不知道安卓创建数据库存储数据,以前遇到过,但是没有深入研究,今天仔细的看了一下,学习到了一点知识 直接看代码了 public class DatabaseHelper extends OrmLit ...