jQuery实现表格行的动态增加与删除(改进版)

时间:2023-03-09 06:43:49
jQuery实现表格行的动态增加与删除(改进版)

之前写过一个简单的利用jQuery实现表格行的动态增加与删除的例子,有些人评论说"如果表格中是input元素,那么删除后的东西都将自动替换,这样应该是有问题的,建议楼主改进!",故特意改进了一下!

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

效果图如下:

删除之前
jQuery实现表格行的动态增加与删除(改进版)
删除2行后:
jQuery实现表格行的动态增加与删除(改进版)

改进后具体代码如下:

 1jQuery实现表格行的动态增加与删除(改进版)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2jQuery实现表格行的动态增加与删除(改进版)<html xmlns="http://www.w3.org/1999/xhtml">
 3jQuery实现表格行的动态增加与删除(改进版)<head>
 4jQuery实现表格行的动态增加与删除(改进版)<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5jQuery实现表格行的动态增加与删除(改进版)<script type="text/javascript" src="jquery-1.3.1.js"></script>
 6jQuery实现表格行的动态增加与删除(改进版)<title></title>
 7jQuery实现表格行的动态增加与删除(改进版)<script>
 8jQuery实现表格行的动态增加与删除(改进版)    $(document).ready(function(){
 9jQuery实现表格行的动态增加与删除(改进版)        //<tr/>居中
10jQuery实现表格行的动态增加与删除(改进版)        $("#tab tr").attr("align","center");
11jQuery实现表格行的动态增加与删除(改进版)        
12jQuery实现表格行的动态增加与删除(改进版)        //增加<tr/>
13jQuery实现表格行的动态增加与删除(改进版)        $("#but").click(function(){
14jQuery实现表格行的动态增加与删除(改进版)            var _len = $("#tab tr").length;        
15jQuery实现表格行的动态增加与删除(改进版)            $("#tab").append("<tr id="+_len+" align='center'>"
16jQuery实现表格行的动态增加与删除(改进版)                                +"<td>"+_len+"</td>"
17jQuery实现表格行的动态增加与删除(改进版)                                +"<td>Dynamic TR"+_len+"</td>"
18jQuery实现表格行的动态增加与删除(改进版)                                +"<td><input type='text' name='desc"+_len+"' id='desc"+_len+"' /></td>"
19jQuery实现表格行的动态增加与删除(改进版)                                +"<td><a href=\'#\' onclick=\'deltr("+_len+")\'>删除</a></td>"
20jQuery实现表格行的动态增加与删除(改进版)                            +"</tr>");            
21jQuery实现表格行的动态增加与删除(改进版)        })    
22jQuery实现表格行的动态增加与删除(改进版)    })
23jQuery实现表格行的动态增加与删除(改进版)    
24jQuery实现表格行的动态增加与删除(改进版)    //删除<tr/>
25jQuery实现表格行的动态增加与删除(改进版)    var deltr =function(index)
26jQuery实现表格行的动态增加与删除(改进版)    {
27jQuery实现表格行的动态增加与删除(改进版)        var _len = $("#tab tr").length;
28jQuery实现表格行的动态增加与删除(改进版)        $("tr[id='"+index+"']").remove();//删除当前行
29jQuery实现表格行的动态增加与删除(改进版)        for(var i=index+1,j=_len;i<j;i++)
30jQuery实现表格行的动态增加与删除(改进版)        {
31jQuery实现表格行的动态增加与删除(改进版)            var nextTxtVal = $("#desc"+i).val();
32jQuery实现表格行的动态增加与删除(改进版)            $("tr[id=\'"+i+"\']")
33jQuery实现表格行的动态增加与删除(改进版)                .replaceWith("<tr id="+(i-1)+" align='center'>"
34jQuery实现表格行的动态增加与删除(改进版)                                +"<td>"+(i-1)+"</td>"
35jQuery实现表格行的动态增加与删除(改进版)                                +"<td>Dynamic TR"+(i-1)+"</td>"
36jQuery实现表格行的动态增加与删除(改进版)                                +"<td><input type='text' name='desc"+(i-1)+"' value='"+nextTxtVal+"' id='desc"+(i-1)+"'/></td>"
37jQuery实现表格行的动态增加与删除(改进版)                                +"<td><a href=\'#\' onclick=\'deltr("+(i-1)+")\'>删除</a></td>"
38jQuery实现表格行的动态增加与删除(改进版)                            +"</tr>");
39jQuery实现表格行的动态增加与删除(改进版)        }    
40jQuery实现表格行的动态增加与删除(改进版)        
41jQuery实现表格行的动态增加与删除(改进版)    }
42jQuery实现表格行的动态增加与删除(改进版)</script>
43jQuery实现表格行的动态增加与删除(改进版)</head>
44jQuery实现表格行的动态增加与删除(改进版)<body>
45jQuery实现表格行的动态增加与删除(改进版)    
46jQuery实现表格行的动态增加与删除(改进版)    <table id="tab" border="1" width="60%" align="center" style="margin-top:20px">
47jQuery实现表格行的动态增加与删除(改进版)        <tr>
48jQuery实现表格行的动态增加与删除(改进版)            <td width="20%">序号</td>
49jQuery实现表格行的动态增加与删除(改进版)            <td>标题</td>
50jQuery实现表格行的动态增加与删除(改进版)            <td>描述</td>
51jQuery实现表格行的动态增加与删除(改进版)            <td>操作</td>
52jQuery实现表格行的动态增加与删除(改进版)       </tr>
53jQuery实现表格行的动态增加与删除(改进版)    </table>
54jQuery实现表格行的动态增加与删除(改进版)    <div style="border:2px; 
55jQuery实现表格行的动态增加与删除(改进版)                border-color:#00CC00; 
56jQuery实现表格行的动态增加与删除(改进版)                margin-left:20%;
57jQuery实现表格行的动态增加与删除(改进版)                margin-top:20px">
58jQuery实现表格行的动态增加与删除(改进版)        <input type="button" id="but" value="增加"/>
59jQuery实现表格行的动态增加与删除(改进版)    </div>
60jQuery实现表格行的动态增加与删除(改进版)</body>
61jQuery实现表格行的动态增加与删除(改进版)</html>