1. 程式人生 > >jQuery實現表格行的動態增加與刪除(改進版)

jQuery實現表格行的動態增加與刪除(改進版)

ans XML 隱藏域 locks 頁面 order blog 這樣的 ken

之前寫過一個簡單的利用jQuery實現表格行的動態增加與刪除的例子,有些人評論說"如果表格中是input元素,那麽刪除後的東西都將自動替換,這樣應該是有問題的,建議樓主改進!",故特意改進了一下!

在項目中很多時候遇到這樣的問題,需要動態的增加、刪除表格的行,很多情況下我們都是在頁面來設置一個隱藏域的值,然後在js方法裏動態的++或--,在學習jQuery的過程中,我試著用簡單的方法來模擬實現這一個過程

效果圖如下:

刪除之前
技術分享圖片
刪除2行後:
技術分享圖片

改進後具體代碼如下:

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

jQuery實現表格行的動態增加與刪除(改進版)