zoukankan      html  css  js  c++  java
  • JS:动态表格

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <html>
    <head>
    <title>动态表格.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <!--<a href="javascript:void(0)" onclick="delOne(this)"></a>
        javascript:void(0)相当于让href属性失效!! -->
    <script type="text/javascript">
        /*清除内容*/
        function clearAll() {
            //1,获取用户信息列表
            var infoList = document.getElementsByName("info");
            //2,遍历
            for (var i = 0; i < infoList.length; i++) {
                //清空数据
                infoList[i].value = "";
            }
        }
        /*添加的第一种方式*/
        /* function addItems(){
            //1,创建一个行的内容
            //1.1创建一个行的对象
            var tr=document.createElement("tr");
            //1.2创建列内容
            //1.3获取用户传入数据的内容,第一列,第七列自己设置,不是用户输入。
            var td1=document.createElement("td");
            var in2=document.getElementById("in2").value;
            var in3=document.getElementById("in3").value;
            var in4=document.getElementById("in4").value;
            var in5=document.getElementById("in5").value;
            var in6=document.getElementById("in6").value;
            //1.4创建5个列对象
            var td2=document.createElement("td");
            var td3=document.createElement("td");
            var td4=document.createElement("td");
            var td5=document.createElement("td");
            var td6=document.createElement("td");
            var td7=document.createElement("td");
            //1.5设置7个列对象的内容,其中第一列,第七列自己设置
            td1.innerHTML="<input type='checkbox' id='in1'/>";
            td2.innerHTML=in2;
            td3.innerHTML=in3;
            td4.innerHTML=in4;
            td5.innerHTML=in5;
            td6.innerHTML=in6;
            td7.innerHTML="<input type='button' id='in7' value='删除'/>";
            //2,将7列的内容添加到一行中
            tr.appendChild(td1);
            tr.appendChild(td2);
            tr.appendChild(td3);
            tr.appendChild(td4);
            tr.appendChild(td5);
            tr.appendChild(td6);
            tr.appendChild(td7)
            //3,将一行内容放到tbody标签末尾
            var tbodyNode=document.getElementsByTagName("tbody")[0];
            tbodyNode.appendChild(tr);
        } */
        /*添加的第二种方式*/
        function addItems() {
            //1,创建一个行的内容
            //1.1创建一个行的对象
            var tr = document.createElement("tr");
            /*1.2第一列 是自己设置的  所以单独设置添加*/
            //创建第一列
            var td1 = document.createElement("td");
            //设置第一列的内容
            td1.innerHTML = "<input name='select' type='checkbox' />";
            //向行中添加这列
            tr.appendChild(td1);
            //1.3获取用户信息列表
            var infoList = document.getElementsByName("info");
            //1.4遍历用户信息
            for (var i = 0; i < infoList.length; i++) {
                //建立一个新的列
                var newTd = document.createElement("td");
                //将用户数据添加到新的列中
                newTd.innerHTML = infoList[i].value;
                //向行中添加这个新的列
                tr.appendChild(newTd);
            }
            /*1.5第七列 是自己设置的  所以单独设置添加*/
            //创建第七列
            var td7 = document.createElement("td");
            //向第七列添加内容
            td7.innerHTML = "<a href='javascript:void(0)' onclick='delOne(this)'>删除" + "</a>";
            tr.appendChild(td7);
            //使行内内容居中
            tr.align = "center";
            //将第七列添加到行中
            //2.将设置好的行的内容添加到 tbody的末尾
            //2.1根据标签名获取节点对象
            var tbodyNode = document.getElementsByTagName("tbody")[0];
            //2.2添加内容进入tbody中(末尾处)
            tbodyNode.appendChild(tr);
        }
        /* 删除一行 */
        //参数名随便写但是必须要把第七列内容对象传进来,这里是a标签
        function delOne(a) {
            //判断用户是否确认删除
            if (confirm("确认删除?")) {
                //根据标签名获取节点对象
                var tbodyNode = document.getElementsByTagName("tbody")[0];
                //a标签的父节点是列标签 列的父节点是行,所以删除本行,如下写法
                tbodyNode.removeChild(a.parentNode.parentNode);
            }
        }
        /*设置全选*/
        function selectAll(obj) {
            //记住全选按钮状态
            var status = obj.checked;
            //获取所有复选框列表
            var selectList = document.getElementsByName("select");
            for (var i = 0; i < selectList.length; i++) {
                //将全选的状态赋给所有的复选框
                selectList[i].checked = status;
            }
        }
        /*选择删除*/
        function selectDel() {
            //判断用户是否确认删除
            if (confirm("确认删除?")) {
                //获取所有复选框列表
                var selectList = document.getElementsByName("select");
                //获取tbody节点
                var tbodyNode = document.getElementsByTagName("tbody")[0];
                for (var i = 0; i < selectList.length; i++) {
                    if (selectList[i].checked) {
                        //删除这一行内容
                        tbodyNode.removeChild(selectList[i].parentNode.parentNode);
                        /*这里i--尤为重要,保证选中的能被全部删除
                        原因分析:JS中数组的长度是可变的,当删除一个元素时,后面的元素会自动往前
                        挪动一位,数组长度减一。这样处于该元素后面的元素角标都发生了变化
                        (都向前挪动了一位)所以i--保证数组里面的元素都能被判断到
                        */
                        i--;
                    }
                }
            }
        }
    </script>
    
    <style type="text/css">
    /* 设置伪类选择器 */
    a:link {
        font-size: 18px;
        text-decoration: none;
    }
    
    a:hover {
        font-size: 18px;
        color: red;
        text-decoration: none;
    }
    </style>
    </head>
    
    <body>
        <!-- 表格布局 -->
        <table width="500px" border="1" align="center">
            <thead>
                <tr id="tr1" bgcolor="blue" align="center">
                    <td>选中</td>
                    <td>编号</td>
                    <td>用户</td>
                    <td>密码</td>
                    <td>年龄</td>
                    <td>住址</td>
                    <td>操作</td>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td align="center"><input type="checkbox"
                        onchange="selectAll(this)"></td>
                    <td colspan="6"><a href="javascript:void(0)"
                        onclick="selectDel()">删除选中</a></td>
                </tr>
            </tbody>
        </table>
        <hr />
        <table width="300px" border="1" align="center">
            <tr>
                <td>编号:</td>
                <td><input type="text" id="in2" name="info" /></td>
            </tr>
            <tr>
                <td>用户:</td>
                <td><input type="text" id="in3" name="info" /></td>
            </tr>
            <tr>
                <td>密码:</td>
                <td><input type="password" id="in4" name="info" /></td>
            </tr>
            <tr>
                <td>年龄:</td>
                <td><input type="text" id="in5" name="info" /></td>
            </tr>
            <tr>
                <td>住址:</td>
                <td><input type="text" id="in6" name="info" /></td>
            </tr>
            <tr align="center">
                <td colspan="2"><input type="button" value="重置"
                    onclick="clearAll()" /> &nbsp;&nbsp;&nbsp;&nbsp; <input
                    type="button" value="添加" onclick="addItems()" /></td>
            </tr>
        </table>
    </body>
    </html>
    效果:
    

    这里写图片描述

    很多事情即将开始,很多人的命运即将改变
  • 相关阅读:
    数据库中计算值的更新方法
    多语言系统的数据库设计
    深蓝词库转换2.0发布——支持仓颉、注音、五笔、郑码、二笔等
    数据库SQL开发的一些要点
    最近工作有点累
    IPv6地址争夺中国再落后 申请量仅全球1.8%
    Nantpad 1.0 has been released!
    又丢了一辆自行车
    搬到新家了.
    我和我的好友的计算机之路.希望能给你的计算机生活点一盞明灯
  • 原文地址:https://www.cnblogs.com/liuzk/p/12458953.html
Copyright © 2011-2022 走看看