• javascript对table的添加,删除行的操作


    <body>
                <form name="myForm">
                    <table width="100%" id="tab" name="tab" border="0px" style="text-align:center;">
                        <tr style="background-color:0099FF;color:black;">
                            <td>选择</td> 
                            <td>编号</td>
                            <td>姓名</td>    
                            <td>年龄</td>    
                            <td>地址</td>        
                            <td>操作</td>        
                            <td>操作</td>
                        </tr>    
                        <tr id="tr1" onmouseOver="onmouseOverMethod(this)" onmouseOut="onmouseOutMethod(this)" onclick="onClickChangeStyle(this)">
                            <td><input type='hidden'><input type="checkbox" value="11"/></td>
                            <td>100</td>
                            <td>张三</td>    
                            <td>15</td>
                            <td>湖南株洲</td>
                            <td><a href="#" onclick="addRow()">添加</a></td>
                            <td><a href="#" onclick="deleteRow(this)">删除</a></td>
                        </tr>
                        <tr id="tr2" onmouseOver="onmouseOverMethod(this)" onmouseOut="onmouseOutMethod(this)" onclick="onClickChangeStyle(this)">
                            <td><input type="checkbox" value="22"/></td>
                            <td>101</td>
                            <td>李四</td>    
                            <td>15</td>
                            <td>湖南长沙</td>
                            <td><a href="#" onclick="addRow()">添加</a></td>
                            <td><a href="#" onclick="deleteRow(this)">删除</a></td>
                        </tr>
                        <tr id="tr3" onmouseOver="onmouseOverMethod(this)" onmouseOut="onmouseOutMethod(this)" onclick="onClickChangeStyle(this)">
                            <td><input type="checkbox" value="33"/></td>
                            <td>102</td>
                            <td>王五</td>    
                            <td>15</td>
                            <td>湖南湘潭</td>
                            <td><a href="#" onclick="addRow()">添加</a></td>
                            <td><a href="#" onclick="deleteRow(this)">删除</a></td>
                        </tr>
                    </table>
                    
    
                </form>    
        </body>

    以下是使用javascript对表格的添加行,删除行,进行操作..

    具体代码如下:

    style样式代码:

    <style>
          .displayStyle{
                 background-color:00FFFF;
             }    
             
             .hideStyle{
                 background-color:#FFFFF;
             }
             
             .onClickStyle{
                 background-color:00FF00;
             }
             
             a{
                 color:red;
             }
             
             a:hover{
                 color:green;    
             }
    </style>

    javascript代码:

    <script>
    var selectRow=null; 
    //单击时,改变样式;
    function onClickChangeStyle(obj){
           //获取表格对象;
           var tab = document.getElementById("tab");
           
             //获取当前行选择下标;
             var currentRowIndex = obj.rowIndex;
    
             //获取表格所有行数;
           var tablRows = tab.rows.length;
          
           //获取表格第一行,第一列的值;
           //var firstCellValue = tab.rows[0].cells[0].innerHTML;
           
           //获取表格的第一行,第一列的第一个元素的值;
           //var firstChildValue = tab.rows[0].cells[0].firstChild.value;
           
           //循环表格的所有行;并且选择的当前行,改变背景颜色;
           for(var i = 1;i<tablRows;i=i+1){
                   if(currentRowIndex == i){
                         //为选中的当前,设置css样式;
                         selectRow  = tab.rows[i];
                         tab.rows[i].className= "onClickStyle";
                   }else{
                         //把没有选中的行的背景样式设置为白色;
                           tab.rows[i].className= "hideStyle";
                   }
           }    
    }
    
    //鼠标移入时,改变颜色;
    function onmouseOverMethod(selectThis){
          selectThis.className="displayStyle";
          if(selectRow==selectThis){
                  selectThis.className="onClickStyle";
          }
    }
    
    //鼠标移除时,改变背景颜色;
    function onmouseOutMethod(selectThis){
         selectThis.className="hideStyle";
         if(selectRow == selectThis){
              selectThis.className="onClickStyle";
        }
    }
    
    //添加行;
    function addRow(){
            var tab = document.getElementById('tab');
          var rowIndex = tab.rows.length+1;
    
          //添加一行;
            var tr  = tab.insertRow();
            tr.onmouseover = tr.className="displayStyle" ;
            tr.onmouseout = tr.className="hideStyle" ;
            tr.onclick=function (){this.className="onClickChangeStyle(this)";}
                
            var td1 = tr.insertCell();
            var td2 = tr.insertCell();
            var td3 = tr.insertCell();
            var td4 = tr.insertCell();
            var td5 = tr.insertCell();
            var td6 = tr.insertCell();
            var td7 = tr.insertCell();
            
            td1.innerHTML = "<input type='hidden'/><input type='checkbox' value = '1'>";
            td2.innerHTML = ""+rowIndex;
            td3.innerHTML = "测试";
            td4.innerHTML = "22";
            td5.innerHTML = "无地址";
            td6.innerHTML = "<a href='#' onclick='addRow()'>添加</a>";
            td7.innerHTML = "<a href='#' onclick='deleteRow(this)'>删除</a>";
            
            //初始化行;
            initRows(tab);
    }
    
    //初始化行,设置序列号;
    function initRows(tab){
         var tabRows = tab.rows.length;
         for(var i = 0;i<tabRows.length;i++){
                 tab.rows[i].cells[0].firstChild.value=i;
        }
    }
    
    //删除行;(obj代表连接对象)
    function deleteRow(obj){
        var tab = document.getElementById('tab');
        //获取tr对象;
        var tr = obj.parentNode.parentNode;
        
        if(tab.rows.length>2){
            //tr.parentNode,指的是,table对象;移除子节点;
            tr.parentNode.removeChild(tr);
        }
        //重新生成行号;
        initRows(document.getElementById('tab'));
    }
    </script>    &nbsp;&nbsp;
  • 相关阅读:
    设置靠近 水平居中的主体内容Div 的 左侧位置固定的Div
    [转]jQuery页面滚动图片等元素动态加载实现
    [转]LazyLoad.js及scrollLoading.js
    [转]jquery 鼠标放在图片上显示图片的放大镜效果jqzoom_ev-2.3
    [转]java处理高并发高负载类网站的优化方法
    spring-session之二:简单配置
    spring-session之一:简介、使用及实现原理
    UDP协议详解
    Netty Client 重连实现
    netty中的UDP
  • 原文地址:https://www.cnblogs.com/564085446java/p/3662910.html
Copyright © 2020-2023  润新知