zoukankan      html  css  js  c++  java
  • javasciptdom编程 table对象 练习(2)

    排名练习:向表格添加数据,

    1、当编号遇到重复给予提示并且无法添加,2、而且按排名顺序添加数据,3、可以动态删除和修改,并把修改数据保存起来

    新手们动起手来自己练习练习吧。。。。加深对JS中对象的理解。

    参考代码:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    
    <html>
    <head>
    <title>ggggg</title>
    <link rel="stylesheet" type="text/css" href="">
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <!--js代码可以放置在任意位置,按照先后顺序依次执行 一般放在head标签之间-->
    <script type="text/javascript">
    
        /*插入数据*/
        function insert(){        
            //获得表格对象
            var mytable=document.getElementById("table1");
            //判断插入是否重复的排名
            //遍历
            //定义变量要插入的位置
            var insertW=mytable.rows.length;
            for(var i=1;i<mytable.rows.length;i++){
                //取出每一行
                var eRows=mytable.rows[i];
                //判断输入的排名是否重复
                if(eRows.cells[0].innerText==no.value){
                    window.alert("与排名 "+eRows.cells[0].innerText+" 重复");
                    return ;//阻止代码往下面执行
                }
                
                //进行排序 查找要插入的位置
                if(parseInt(no.value)>parseInt(eRows.cells[0].innerText)){
                    insertW=i;
                    //window.alert(insertW);
                }
            }
            
            //排序后的插入
            var eachRow=mytable.insertRow(insertW+1);    
            //每行添加数据
            eachRow.insertCell(0).innerText=document.getElementById("no").value;
            eachRow.insertCell(1).innerText=username.value;
            eachRow.insertCell(2).innerText=nickname.value;
            eachRow.insertCell(3).innerHTML="<a href='#' onclick='deleteRow(this)'>删除</a>";
            eachRow.insertCell(4).innerHTML="<a href='#' onclick='updateRow(this)'>修改</a>";
        }
    
        /*更新数据*/
        function updateRow(obj){
            //window.alert("ok");
            var mytable=document.getElementById("table1");
            //找到要修改的行
            var index=obj.parentNode.parentNode.sectionRowIndex;
            mytable.rows[index].cells[1].innerHTML="<input type='text' id='username'/>";
            mytable.rows[index].cells[2].innerHTML="<input type='text' id='nickname'/>";
            mytable.rows[index].cells[3].innerText="删除";
            mytable.rows[index].cells[4].innerHTML="<a href='#' onclick='save(this)'>保存</a>";
        }
        
        /*更新后点击保存*/
        function save(obj){
    
            var mytable=document.getElementById("table1");
            //找到要修改的行
            var index=obj.parentNode.parentNode.sectionRowIndex;
            mytable.rows[index].cells[1].innerText=document.getElementById("username").value;
            mytable.rows[index].cells[2].innerText=document.getElementById("nickname").value;
            mytable.rows[index].cells[3].innerHTML="<a href='#' onclick='deleteRow(this)'>删除</a>";
            mytable.rows[index].cells[4].innerHTML="<a href='#' onclick='updateRow(this)'>修改</a>";
        }
    
        /*删除数据*/
        function deleteRow(obj){
            //window.alert("ok");
            var mytable=document.getElementById("table1");
            //找到当前列
            //找到该删除节点的父父节点<tr>并返回一个(TableRow 对象),从而取得该行对应的行号
            //window.alert(obj.parentNode.parentNode.sectionRowIndex);
            var index=obj.parentNode.parentNode.sectionRowIndex;
            var del=window.confirm("确定删除");
            if(del){
                mytable.deleteRow(index);
                window.alert("删除成功");
            }
        }
    
    </script>
    </head>
    <body>
        <table id="table1" border="1">
            <tr><td>排名</td><td>姓名</td><td>外号</td><td>删除</td><td>修改</td></tr>
            <tr><td>1</td><td>宋江</td><td>及时雨</td><td><a href="#" onclick='deleteRow(this)'>删除</a></td><td><a href="#" onclick="updateRow(this)">修改</a></td></tr>
            <tr><td>2</td><td>卢俊义</td><td>玉麒麟</td><td><a href="#" onclick='deleteRow(this)'>删除</a></td><td><a href="#" onclick="updateRow(this)">修改</a></td></tr>
            <tr><td>10</td><td>test</td><td>test</td></td><td><a href="#" onclick='deleteRow(this)'>删除</a></td><td><a href="#" onclick='updateRow(this)'>修改</a></td></tr>
        </table>
        <br/><br/>
        排名:<input id="no" type="text" name="no"><br/>
        姓名:<input id="username" type="text" name="username"><br/>
        外号:<input id="nickname" type="text" name="nickname"><br/>
        <input type="button" value="添加" onclick="insert()"><br/>
    </body>
    </html>

  • 相关阅读:
    TensorFlow------学习篇
    汉语分词工具的研发-----
    SVM强化学习
    RNN和LSTM系统强化学习———
    CRF学习笔记
    Word2vector---------学习笔记
    FindAllAnagramsinaString
    Java中比较两个字符串是否相等的问题
    15003_特殊数字
    雷林鹏分享:Lua break 语句
  • 原文地址:https://www.cnblogs.com/pwm5712/p/3036032.html
Copyright © 2011-2022 走看看