zoukankan      html  css  js  c++  java
  • js添加、修改、删除表格中数据、修改时在表格中直接修改

    <html>
    <head>
    <script type="text/javascript">
    function show(){
        //切换添加表单
    var display=document.getElementById("add");
        if(display.style.display=="block"){
            display.style.display="none";
        }else{
            display.style.display="block";
        }
        
        
    }
    function add(){
        var mytab=document.getElementById("table");
        //获取用户信息
    var no=parseInt(document.getElementById("index").value);
    var name=document.getElementById("name").value;
    var iname=document.getElementById("iname").value;
    
        //插入表格
    var tabRow;
         for(var i=1;i<mytab.rows.length;i++){
            var num=parseInt(mytab.rows[i].cells[0].innerText);
            //alert(index+""+i );
            //如果当前的表单中编号和输入的编号有重复提示用户,并返回不添加
            if(num==no){
                alert("编号重复");
                return false;
            }
            //输入的编号小于当前遍历的某个编号是,插入当前位置
             if(num>no){
                 
              tabRow=mytab.insertRow(i);//如果已有的编号大于输入编号,插入到当前行
             
             tabRow.insertCell(0).innerHTML=no;
            tabRow.insertCell(1).innerHTML=name;
            tabRow.insertCell(2).innerHTML=iname;
            tabRow.insertCell(3).innerHTML="<a href='#' onclick=del("
            +no+")>删除</a>||<a onclick=alter("+no+") href='#'>修改</a>";
                 return;
                 
            }
        } 
        
        //要插入的行
        tabRow=mytab.insertRow(mytab.rows.length);
            
        //插入行的列
        tabRow.insertCell(0).innerHTML=no;
        tabRow.insertCell(1).innerHTML=name;
        tabRow.insertCell(2).innerHTML=iname;
        tabRow.insertCell(3).innerHTML="<a href='#' onclick=del("
        +no+")>删除</a>||<a onclick=alter("+no+") href='#'>修改</a>";
    }
    function del(no){
    var mytab=document.getElementById("table");
        
        for(var i=1;i<mytab.rows.length;i++){//遍历每一行取出编号
        var num=parseInt(mytab.rows[i].cells[0].innerText);
            if(num==no){//如果遍历的编号等于输入的编号,就删除当前行
                mytab.deleteRow(i);
            }
        }
        
        
    }
    
    function alter(no){
    
        //提示用户输入要修改的列数
        var a=window.prompt("请输入要修改的列数");
            a--;
            
            //如果输入的列数等于第一列,那目前提示用户,不能修改编号
            if(a==0){
                alert("不能修改英雄的编号");
                return;
            }
            var mytab=document.getElementById("table");
            for(var i=1;i<mytab.rows.length;i++){//遍历每一行
                var num=parseInt(mytab.rows[i].cells[0].innerText);//取出每一行的编号
                    if(num==no){//如果遍历的编号等于函数传进来的编号,修改该行
                        if(a<mytab.rows[i].cells.length-1){
                            var cellText=mytab.rows[i].cells[a].innerText;
                        mytab.rows[i].cells[a].innerHTML="<input onblur=blur1(this,"+i+","+a+") type='text' value="
                        +cellText+" style='64px'  />";
                        }
                    }
                }
                
        
            
        
        
        
    }
    
    function blur1(obj,i,a){
        document.getElementById("table").rows[i].cells[a].innerText=obj.value;
    }
    </script>
    </head>
    <body>
        <table id="table" border="1" style="align:center;300px;">
            <tr align="center"><td>编号</td><td>名字</td><td>外号</td><td>操作</td></tr>
            <!-- <tr ><td>1</td><td>宋江</td><td>及时雨</td><td><a href="#">删除</a>||<a href="#">修改</a></td></tr>
            <tr ><td>2</td><td>吴用</td><td>吴大哥</td><td><a href="#">删除</a>||<a href="#">修改</a></td></tr>
            <tr ><td>8</td><td>吴用</td><td>吴大哥</td><td><a href="#">删除</a>||<a href="#">修改</a></td></tr> -->
        </table>
        <button onclick="show()">添加/隐藏</button>
        
        <table id="add" style="display:none">
            <caption style="font-size:26px;">添加英雄人物</caption>
            <tr><td>编号:<input type="text" id="index"name="index"/></td></tr>
            <tr><td>姓名:<input type="text" id="name" name="name"/></td></tr>
            <tr><td>外号:<input type="text" id="iname" name="iname"/></td></tr>
            <tr><td><input type="submit" value="添加英雄" onclick="add()"/></td></tr>
        </table>
        
        
    </body>
    </html>
  • 相关阅读:
    【2017中国大学生程序设计竞赛
    【hdu 4333】Revolving Digits
    【hihocoder 1554】最短的 Nore0061
    【2017中国大学生程序设计竞赛
    【Codeforces Beta Round #88 C】Cycle
    【2017 Multi-University Training Contest
    【Codeforces Round #429 (Div. 2) C】Leha and Function
    【Codeforces Round #429 (Div. 2) B】 Godsend
    【Codeforces Round #429 (Div. 2) A】Generous Kefa
    Single-stack real-time operating system for embedded systems
  • 原文地址:https://www.cnblogs.com/kevinggk/p/6658797.html
Copyright © 2011-2022 走看看