• 组件


    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Jquerytable.aspx.cs" Inherits="WebApplication2.Jquerytable" %>

    <!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 id="Head1" runat="server">
        <title></title>
        <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
        <%--<script src="js/jquery-1.4.4.min.js" type="text/javascript"></script>--%>
        <script type="text/javascript">
            $(function () {
                var options = {
                    "title": "Student List", //表名称
                    "width": 600,
                    "fields": [    //表头
                                {"head": "", "type": "radio", "w": 40 }, //type可以为checkbox,radio,none 其中none表示没有单选也没有复选 w表示列的宽度
                                {"head": "用户编号", "dataname": "StudentId", "key": "true", "w": 100, "enable": "false" }, //key表示主键 enable是否显示
                                {"head": "姓名", "dataname": "Name" },
                                { "head": "年龄", "dataname": "Age", "editor": "false" }, //editor是否允许编辑
                                {"head": "删除", "type": "delete", "w": 38, "enable": "true" },
                                { "head": "编辑", "type": "editor", "w": 38, "enable": "true" },
                                { "head": "查看", "type": "view", "w": 38, "enable": "true" }
                               ],
                    "actions":
                              {
                                  listAction: '/Demo/StudentList', //刷新
                                  deleteAction: '/Demo/DeleteStudent', //删除
                                  updateAction: '/Demo/UpdateStudent', //编辑
                                  createAction: '/Demo/CreateStudent', //新增
                                  selectAction: '/Demo/SelectStudent', //查询
                                  viewAction: '/Demo/ViewStudent'//查看
                              }
                };

                var obj = $("#JQtabel"); //最外层div
                var t_header = $("#t_header");
                var t_content = $("#t_content"); //表
                var searchtxt = $("#s_t_p");
                var search_bt = $("#s_p");
                var t_page = $("#t_page");

                obj.width = obj.width(options.width);
                t_header.width = t_header.width(options.width);
                var t_w = (options.width - ($("#title").width() + $("#s_t_p").width() + $("#s_p").width())) * 2 / 3;
                var s_w = (options.width - ($("#title").width() + $("#s_t_p").width() + $("#s_p").width())) * 2 / 3;
                searchtxt.css({ "position": "relative", "top": "1px", "left": t_w });
                search_bt.css({ "position": "relative", "top": "3px", "left": s_w });
                t_page.width = t_page.width(options.width);
                //模拟数据
                var data =
               {
                   "totalcount": 55,
                   "datas": [
                                                        { "StudentId": 1, "Name": "a", "Age": 22 },
                                                        { "StudentId": 2, "Name": "b", "Age": 23 },
                                                        { "StudentId": 3, "Name": "c", "Age": 24 },
                                                        { "StudentId": 4, "Name": "d", "Age": 25 },
                                                        { "StudentId": 5, "Name": "e", "Age": 26 },
                                                        { "StudentId": 6, "Name": "f", "Age": 27 },
                                                        { "StudentId": 7, "Name": "g", "Age": 28 },
                                                        { "StudentId": 8, "Name": "h", "Age": 29 },
                                                         { "StudentId": 9, "Name": "i", "Age": 30 },
                                                        { "StudentId": 10, "Name": "j", "Age": 31 }

                                                    ]

               }
                //获得数据

                var table = "<table id='tbResources'  cellspacing='0'  width='" + options.width + "'>";
                var tr_h = "<tr id='tableTitle' align='center' style='height:30px;'>";
                var td_h = "";
                for (var i = 0; i < options.fields.length; i++) {
                    //是否有复选或单选
                    if (i == 0) {
                        if (options.fields[0].type == "checkbox") {
                            td_h = td_h + "<td style='" + options.fields[i].w + "px'><input id='checkall' type='checkbox'/></td>"
                            continue;
                        }
                        if (options.fields[0].type == "radio") {
                            td_h = td_h + "<td style='" + options.fields[i].w + "px'></td>"
                            continue;
                        }
                        if (options.fields[0].type == "none") {
                            td_h = "";
                            continue;
                        }

                    }
                    //要显示的表头
                    if (options.fields[i].enable != "false" || options.fields[i].enable == undefined || options.fields[i].enable == "true") {
                        if (options.fields[i].w != undefined) {
                            td_h = td_h + "<td style='" + options.fields[i].w + "px'>" + options.fields[i].head + "</td>"
                        } else {
                            td_h = td_h + "<td >" + options.fields[i].head + "</td>"
                        }

                    } else {

                        if (options.fields[i].key == "true" && options.fields[i].key != undefined) {//如果为主键列
                            if (options.fields[i].w != undefined) {
                                td_h = td_h + "<td style='" + options.fields[i].w + "px;display:none;'>" + options.fields[i].head + "</td>"
                            } else {
                                td_h = td_h + "<td style='display:none;' >" + options.fields[i].head + "</td>"
                            }
                        }
                    }
                };
                tr_h = tr_h + td_h + "</tr>";
                table = table + tr_h;

                var tr_c = "";
                var td_c = "";
                //如果没有数据
                if (data.totalcount == undefined || data.datas == undefined) {
                    table = table + "</table>";
                    t_content.append(table);
                    $("#nodata").show();
                }
                else {
                    var keyname;
                    for (var g = 0; g < options.fields.length; g++) {
                        if (options.fields[g].key == "true") {
                            keyname = options.fields[g].dataname;
                        }
                    }
                    for (var k = 0; k < data.datas.length; k++) {

                        var o = "<tr id='" + data.datas[k][keyname] + "' align='center' style='height:30px;'>";
                        if (options.fields[0].type == "checkbox") {
                            td_c = "<td ><input name='subbox' value='" + data.datas[k][keyname] + "'  type='checkbox'/></td>"
                        }
                        if (options.fields[0].type == "radio") {
                            td_c = "<td ><input name='radio' value='" + data.datas[k][keyname] + "' type='radio' /></td>"
                        }
                        if (options.fields[0].type == "none") {
                            td_c = "";
                        }

                        //获取
                        var h = 0;
                        for (var j = 1; j < options.fields.length; j++) {
                            if (options.fields[j].enable != "false" || options.fields[j].enable == undefined || options.fields[j].enable == "true") {
                                if (options.fields[j].dataname != undefined) {
                                    h = j;
                                    var dataname = options.fields[j].dataname;
                                    td_c = td_c + "<td >" + data.datas[k][dataname] + "</td>";
                                }
                            } else {
                                if (options.fields[j].key == "true") {
                                    var dataname = options.fields[j].dataname;
                                    td_c = td_c + "<td style='display:none;' >" + data.datas[k][dataname] + "</td>";
                                }
                            }
                        }
                        for (var n = h + 1; n < options.fields.length; n++) {
                            if (options.fields[n].type == "delete") {
                                if (options.fields[n].enable != "false" || options.fields[n].enable == "true") {
                                    td_c = td_c + "<td style='border:none;' ><img id='delete' type='delete' src='images/delete.png' style='cursor:pointer;' /></td>";
                                }
                            }
                            if (options.fields[n].type == "editor") {
                                if (options.fields[n].enable != "false" || options.fields[n].enable == "true") {
                                    td_c = td_c + "<td style='border:none;'><img id='editor' type='editor' src='images/editor.png' style='cursor:pointer;' /></td>"
                                }
                            }
                            if (options.fields[n].type == "view") {
                                if (options.fields[n].enable != "false" || options.fields[n].enable == "true") {
                                    td_c = td_c + "<td style='border:none;'><img id='view' type='view' src='images/view.png' style='cursor:pointer;' /></td>";
                                }
                            }
                        }


                        tr_c = tr_c + o + td_c + "</tr>";

                    }
                    table = table + tr_c + "</table>";
                    t_content.append(table);
                }


                //分页
                //表头着色
                var color = ["#f19b38", "#f8ba17", "#95ac26", "#569e32", "#69BDD0", "#9DA7C3", "#EB5C1E"];
                $("#tableTitle").each(function () {
                    $(this).children().each(function (i) {

                        $(this).css("background-color", color[i]);

                    });
                });
                //            /*-------------------------------td着色-----------------------------------*/
                $("#tbResources").find("tr").not($("#tableTitle")).each(function (i) {
                    if (i % 2 == 0) {
                        $(this).css("background-color", "#f6f6f6").children().each(function (j) {
                            if (j % 2 == 1) {
                                $(this).css("background-color", "#eeeeee");
                            }
                        });
                    }
                });
                /*-------------------------------td着色-----------------------------------*/
                //查询

                $("#search").click(function () {
                    var name = $("#searchtxt").val();
                    $.ajax({
                        type: "post",
                        contentType: "application/json;utf-8",
                        datatype: "json",
                        url: "data.aspx/GetUser",
                        data: "{'name':" + name + "}",
                        success: function (data) {
                            //to do
                        },
                        error: function (err) {
                            //to do
                        }
                    });

                });
                //复选框
                if (options.fields[0].type == "checkbox") {
                    $("#checkall").click(function () {
                        $('input[name="subbox"]').attr("checked", this.checked);
                        var $subBox = $("input[name='subbox']");
                        $subBox.click(function () {
                            $("#checkall").attr("checked", $subBox.length == $("input[name='subbox']:checked").length ? true : false);

                        });
                    });
                }

                //单选
                //删除

                $("#tbResources").find("img").each(function () {
                    var obj = $(this);
                    obj.click(function () {
                        if (obj.attr("type") == "delete") {
                            ShowDiv('DeleteDiv', 'fade');
                            var id = obj.parent().parent().attr("id");
                            // alert(id);
                        }
                        if (obj.attr("type") == "editor") {
                            ShowDiv('MyDiv', 'fade');
                            var id = obj.parent().parent().attr("id");
                            //alert(id);
                        }
                        if (obj.attr("type") == "view") {
                            ShowDiv('MyDiv', 'fade');
                            var id = obj.parent().parent().attr("id");
                            //alert(id);
                        }
                    });
                });

                //编辑
                //新增
                //刷新
                //选择
                $("#ok").click(function () {
                    var str_id = "";
                    if (options.fields[0].type == "checkbox") {
                        if ($("#checkall").attr("checked")) {
                            $("input[name='subbox']").each(function () {
                                str_id += $(this).val() + ",";
                            });

                        } else {
                            $("input[name='subbox']").each(function () {

                                if ($(this).attr("checked")) {
                                    str_id += $(this).val() + ",";
                                }
                            });
                        }
                        alert(str_id);
                    }

                    if (options.fields[0].type == "radio") {
                        $("input[name='radio']").each(function () {

                            if ($(this).attr("checked")) {
                                str_id += $(this).val();
                            }
                        });
                        alert(str_id);
                    }
                });


            });
        </script>
        <style type="text/css">
              .black_overlay
            {
                display: none;
                position: absolute;
                top: 0;
                left: 0;
                100%;
                height: 100%;
                background-color: black;
                z-index: 1001;
                -moz-opacity: 0.5;
                opacity: 0.5;
                filter: alpha(opacity=50);
                -khtml-opacity: 0.5;
            }
            .white_content
            {
                display: none;
                position: fixed;
                top: 13%;
                left: 25%;
                43%;
                height: 40%;
                background-color: white;
                z-index: 1003;
                border:4px solid lightblue;
                -moz-border-radius:15px;
                -webkit-border-radius:15px;
                overflow: auto;
            }
           
            .divb
            {
                height:30px;
                30px;
                position:absolute;
                z-index:1004;
                margin-left:516px;
                margin-top:-12px;
                border:solid 1px black;
                -moz-border-radius:15px;
                -webkit-border-radius:15px;
                background-color:#ffffff;
                line-height:40px;
                text-align:center;
                font-weight:bold;
                cursor:pointer;
                font-size:18px;
                padding-top:0px;
            }
           
            .deleteDiv
            {
               display: none;
                position: fixed;
                top: 23%;
                left: 45%;
                200px;
                height: 100px;
                background-color: white;
                z-index: 1005;
                border:4px solid lightblue;
                -moz-border-radius:15px;
                -webkit-border-radius:15px;
                overflow: auto;
             }


        </style>
    </head>
    <body>
        <form id="form1" runat="server">
        <div id="JQtabel" style="border: red solid 1px; position:relative; top:100px; left:300px;">
            <div id="t_header" style="background-color: #DC09BD; height: 40px;">
                <span id="title" style="margin-left: 7px; font-size: 26px; position: relative; top: 6px;
                    left: 0px;">用户信息</span>
                    <span  id="s_t_p" >
                        <input type="text" id="searchtxt" style="border: 1px solid; 120px; height: 22px;" />
                    </span>
                    <span id="s_p">
                        <input type="button" id="search" style=" 36px; height: 32px; background-color: #DC09BD;
                            background-image: url('images/search.png'); background-repeat: no-repeat; cursor: pointer;
                            border: 0px solid;" />
                    </span>
            </div>
            <div id="t_content">
            </div>
            <div id="nodata" style="display: none; height: 100px;">
                <span style="position: relative; top: 45px; left: 160px; color: Red;">没有数据!</span></div>
            <div id="t_page" style="height: 30px; border: blue solid 1px; background-color: #FCEFCF;">
                <span style=" 24px; height: 24px; position: relative; top: 3px; left: 10px;">
                    <img id="refresh" alt="刷新" src="images/refresh.png" style="cursor: pointer;" />
                </span>
                <span style=" 24px; height: 24px; position: relative; top: 0px; left: 26px;">
                 
                                 <input id="ok" type="button" value="确定" />
                                </span>
            </div>
        </div>
      <!--弹出层时背景层DIV-->
        <div id="fade" class="black_overlay">
        </div>
        <div class="white_content" id="MyDiv">
            <div class="divb" onclick="CloseDiv('MyDiv','fade')">
                ×
            </div>
        </div>
        <div id="DeleteDiv" class="deleteDiv">
       
        <span style="margin-left:10px; margin-top:10px;">确定要删除吗?</span>
         <div>
         <span><input type="button" value="确定" id="sure" /></span>
         <span><input type="button" value="取消" id="cancle" onclick="CloseDiv('DeleteDiv','fade')" /></span>
         </div>
        </div>
        </form>
    </body>
    </html>
    <script type="text/javascript">
        //弹出遮罩层
        //        //判断窗体是否最大化
        //        if (window.screen) {//判断浏览器是否支持window.screen判断浏览器是否支持screen   
        //            var myw = screen.availWidth;   //定义一个myw,接受到当前全屏的宽   
        //            var myh = screen.availHeight;  //定义一个myw,接受到当前全屏的高   
        //            window.moveTo(0, 0);           //把window放在左上脚   
        //            window.resizeTo(myw, myh);     //把当前窗体的长宽跳转为myw和myh   
        //        }
        //弹出隐藏层
      
        function ShowDiv(show_div, bg_div) {
            document.getElementById(show_div).style.display = 'block';
            document.getElementById(bg_div).style.display = 'block';
            var bgdiv = document.getElementById(bg_div);
            bgdiv.style.width = document.body.clientWidth;
            $("#" + bg_div).height($(document).height());

        };
        //关闭弹出层
        function CloseDiv(show_div, bg_div) {
            document.getElementById(show_div).style.display = 'none';
            document.getElementById(bg_div).style.display = 'none';
        };
        //窗口大小改变时
        $(window).resize(function () {
            if (!$('#MyDiv').is(':hidden'))
                popup();
         
        });

        //重新设置遮罩层的高和宽
        function popup() {
            var maskHeight = $(document).height();
             var maskWidth = $(window).width();
            //var maskWidth = document.body.clientWidth; ;
            $('#fade').css({ height: maskHeight, maskWidth }).show();
        }

      
    </script>

  • 相关阅读:
    一个简单的NodeJs静态页面的web服务器
    javascript的use strict(使用严格模式)
    javascript声明对象时 带var和不带var的区别
    javascript对象的属性,方法,prototype作用范围分析.
    linux下两台服务器文件实时同步方案设计和实现
    Memcache mutex设计模式
    php内存管理
    php-fpm 和 mysql 之间的关系
    innoDB 下主键的思考
    哈希表的实现
  • 原文地址:https://www.cnblogs.com/zcttxs/p/2627136.html
Copyright © 2020-2023  润新知