报表行的动态增加和删除简单实现

表格行的动态增加和删除简单实现
http://www.blogjava.net/absolutedo/archive/2009/03/13/259488.html#


在项目中很多时候遇到这样的问题,需要动态的增加、删除表格的行,很多情况下我们都是在页面来设置一个隐藏域的值,然后在js方法里动态的++或--,在学习jQuery的过程中,我试着用简单的方法来模拟实现这一个过程:效果图如下

具体代码如下:


<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.3.1.js"></script>
<title>demo about table</title>
<script>

// add method
$(document).ready(function(){ 
                 $("#but").click(function(){
                               var $table=$("#tab tr");
                               var len=$table.length;
                            // alert(" content :"+"<tr id="+(len+1)+"><td align=\'center\'>"+len+"</td><td align=\'center\'>jQuery"+len+"</td><td align=\'center\'><a href=\'#\' onclick=\'deltr("+(len+1)+")\'>删除</a></td></tr>");  

                               $("#tab").append("<tr id="+(len+1)+"><td align=\'center\'>"+len+"</td><td align=\'center\'>jQuery"+len+"</td><td align=\'center\'><a href=\'#\' onclick=\'deltr("+(len+1)+")\'>删除</a></td></tr>");  
          })
})

// delete method
function deltr(index)
{
         // alert("tr[id=\'"+index+"\']");
         $table=$("#tab tr");
         if(index>$table.length)
                   return;
          else
          {
                       $("tr[id=\'"+index+"\']").remove();
                       //$("tr:gt('"+index+"')").each   
                       for(var temp=index+1;temp<=$table.length;temp++)
                       {
                              //   $("#tab").append("<tr id="+(temp-1)+"><td align=\'center\'>"+(temp-2)+"</td><td align=\'center\'>jQuery"+(temp-2)+"</td><td align=\'center\'><a href=\'#\' onclick=\'deltr("+(temp-1)+")\'>删除</a></td></tr>");

                                    $("tr[id=\'"+temp+"\']").replaceWith("<tr id="+(temp-1)+"><td align=\'center\'>"+(temp-2)+"</td><td align=\'center\'>jQuery"+(temp-2)+"</td><td align=\'center\'><a href=\'#\' onclick=\'deltr("+(temp-1)+")\'>删除</a></td></tr>");
                        }
             }
}
</script>
</head>

<body>
        <br/>
       <table id="tab" border="1" width="60%" align="center">
             <tr>
                         <td width="20%" align="center">序号</td>
                         <td align="center">标题</td>
                        <td align="center">操作</td>
              </tr>
        </table>
        <br/>
        <div style="border:2px; border-color:#00CC00; margin-left:20%">
                    <input type="button" id="but" value="add"/>
        </div>
</body>
</html>


分析:
序号  head
标题
操作

1  <tr id="2">
jQuery1
  删除 deltr(2)

2  <tr id="3">
jQuery2
  删除 deltr(2)

3  <tr id="4">
jQuery3
  删除 deltr(2)