AJAX实现弹窗显示详情,全选和批量删除

以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 "";
}

时间: 2024-10-25 23:32:40

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

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

html代码 加减行 全选  反选 批量删除

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

废话不多说直接上代码: 下面是jsp页面的html代码: <table id="contentTable" class=""> <thead> <tr> <th><input type="checkbox" id="All" value="全选/全不选" />全选/全不选</th> </tr> </thead>

复选框全选、批量删除

// 脚本全选 1 <head runat="server"> 2 <title></title> 3 <script type="text/javascript"> 4 function selectAll(chk) { 5 var checkboxs = document.getElementsByTagName("input"); 6 for (var i = 0; i < checkb

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

作业:显示以下界面: 作业要求: 1.查看详细信息,以弹窗的形式显示,使用ajax2.批量删除 一.主页面 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml

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

作业:显示以下界面: 作业要求: 1.查看详细信息,以弹窗的形式显示,使用ajax2.批量删除 一.主页面: <!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&qu

listview全选后无法删除不在显示区的item

============问题描述============ 本人新手,学习过程中遇到如下问题: listview中的item数量超出了显示区域,如:一共20个item,显示区能显示10个.当点全选按钮后直接点删除,只能删掉显示区的那10个.当全选按钮点击后,滑动屏幕,这时会发现所有的20个checkbox都勾选了,这时再点删除,则20个全都能够正常删除. 请问高人这个要怎么破?问题出在那?viewholder?现在有点迷糊了. ============解决方案1============ listv

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

[虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询,所有sql语句的查询都用这个方法;       cmd.ExecuteNonQuery();执行所有sql语句的增删改都用这个方法; 1 <div> 2 <table> 3 <tr> 4 <td> 用户名:</td> 5 <td> 6 &

springmvc+mybatis用多选框批量删除的功能Java代码

今天写了一个批量删除的功能,在后台传值过程中一直出错,最终还是请教了北京的一位高手帮我解决的,在此首先要好好感谢他,以后我有幸能帮助别人的话,决不推辞. 废话不说,直接进入正题,我会将在编写过程中出现的一些小知识点也进行总结概括的. 此项目基于的框架是:springmvc+mybatis (1)controller /**      * 批量删除 batch      */     @RequestMapping("/batchDeletes")     @ResponseBody  

弹窗显示详情练习

<!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-