隨筆-16  評論-84  文章-1  trackbacks-0
          之前寫過一個簡單的利用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>
          62



          源代碼下載:Dynamic Table Column Operate
          posted on 2009-03-13 10:41 absolute 閱讀(84155) 評論(25)  編輯  收藏 所屬分類: JavaScript

          評論:
          # re: jQuery學習 表格行的動態增加和刪除簡單實現 2009-03-13 11:52 | Rique
          剛開始看JQuery,學習了!  回復  更多評論
            
          # re: jQuery學習 表格行的動態增加和刪除簡單實現 2009-03-13 12:58 | YXY
          很好,值得學習~~~~  回復  更多評論
            
          # re: jQuery學習 表格行的動態增加和刪除簡單實現 2009-03-13 13:31 | Jie
          很好
            回復  更多評論
            
          # re: jQuery學習 表格行的動態增加和刪除簡單實現[未登錄] 2009-06-07 11:15 | jiery
          這個做的很好啊!
          但是如何把它里面的數據保存呢?  回復  更多評論
            
          # re: jQuery學習 表格行的動態增加和刪除簡單實現 2009-07-28 14:16 | 網的
          你這個好像只是刪除最后一行啊
            回復  更多評論
            
          # re: jQuery學習 表格行的動態增加和刪除簡單實現 2010-01-04 16:49 | 匆匆過客
          很好,學習了!  回復  更多評論
            
          # re: jQuery學習 表格行的動態增加和刪除簡單實現[未登錄] 2010-01-06 14:13 | 過客
          如果表格中是input元素,那么刪除后的東西都將自動替換,這樣應該是有問題的,建議樓主改進!  回復  更多評論
            
          # re: jQuery學習 表格行的動態增加和刪除簡單實現 2010-01-17 10:51 | accelerator
          這種寫法不好維護吧  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2010-11-20 14:26 | iowen
          @過客

          已經改進,謝謝  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2011-08-02 11:49 | 35法國高規格
          臺灣何時。。。。。  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2012-03-01 17:31 | 上海
          受益匪淺,謝謝  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2012-04-25 17:09 | 小賽
          @網的
          同感,哥們!  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2012-07-13 16:35 | wanglc
          不是只刪除最后一行,是刪除之后編號依次替換,很快看不見而已
            回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版)[未登錄] 2013-01-30 11:44 | Nick
          為什么我做的時候,把表頭覆蓋掉了?  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版)[未登錄] 2013-01-30 11:45 | Nick
          是不是要用insertAfter?  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版)[未登錄] 2013-02-19 22:35 | aa
          這個代碼為什么我烤下來不能執行呢
            回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2013-05-13 12:29 | Zjmainstay
          我也有一個。
          jQuery動態增刪改查表格信息,可左鍵/右鍵提示(原創自Zjmainstay)
          http://www.cnblogs.com/Zjmainstay/archive/2012/07/31/jQuery_AutoAddDeleteTableTr.html  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2013-05-14 10:29 | ioio_Carl
          刪除一行的時候,input的值可以像你這樣傳過去,但是我想請問那如果是select的值那要怎么傳呢?謝謝!  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2013-05-14 10:30 | ioio_Carl
          @ioio_Carl
          方便的話可以麻煩您發郵件告訴我嗎?ahjun30@hotmail.com,萬分感謝  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2013-05-14 11:43 | ioio_Carl
          @ioio_Carl
          好吧。我知道了。參考這篇文章~
          http://www.offid.cn/i/564/note/100470.html
          就是
          $("#select_id").val();  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2013-08-12 12:38 | 游客X
          $("tr[id=\'"+i+"\']")
          這里邊不需要轉義吧?  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2013-08-12 12:39 | 游客X
          @游客X
          $("tr[id="+i+"]") 就可以了  回復  更多評論
            
          # 000[未登錄] 2014-03-06 14:04 | 123
          123123  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版) 2014-10-07 23:52 | feicoo
          正好幫我解決一個難題,謝謝!!!  回復  更多評論
            
          # re: jQuery實現表格行的動態增加與刪除(改進版)[未登錄] 2014-10-16 15:19 | s
          s  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 全州县| 岳普湖县| 花垣县| 安福县| 丰原市| 乡城县| 杭州市| 上林县| 垫江县| 永城市| 洪雅县| 仁寿县| 信阳市| 响水县| 景东| 天全县| 西丰县| 临城县| 平谷区| 天水市| 六盘水市| 怀集县| 锡林浩特市| 囊谦县| 廊坊市| 安远县| 邛崃市| 丰宁| 海淀区| 依安县| 寻乌县| 应城市| 噶尔县| 西畴县| 墨脱县| 四会市| 聊城市| 庄河市| 沙河市| 观塘区| 嵩明县|