2012-08-13 72 views
-1

我已經實現jQuery的克隆如下面的鏈接:一個字段中添加序列號使用jQuery克隆

http://jsfiddle.net/sunalive/gqQnJ/5/

現在我想的序列號(行號)每次都自動生成一行被添加(克隆)。另外,當一行被刪除(通過DelRow按鈕)時,我需要重新編號(這樣當我們從中間刪除一行時,序列中沒有缺失的數字)。該號碼必須在lineNo字段中顯示。

任何人都可以幫我實現這個目標嗎?

此外,我需要從第一行隱藏'DelRow'按鈕,以便所有行不會意外刪除,並且至少有一行始終存在(但是這是正在克隆的行,我需要按鈕顯示在所有其他克隆行中)。

感謝您的時間和幫助。

更新:謝謝Charles和Kei的熱心幫助。我必須融合你的兩個解決方案才能達到我想要的。更新後的解決方案是貼在下面:

http://jsfiddle.net/sunalive/gqQnJ/13/

+0

您需要向我們展示您一直在處理的問題以及您遇到問題的位置。 Stackoverflow不是爲了給你編碼一個概念。 – 2012-08-13 15:23:43

+0

但他已經證明他一直在努力... – kei 2012-08-13 15:28:03

回答

0

http://jsfiddle.net/gqQnJ/10/但你承擔,因爲ID lineNo的是重複的ID的HTML是無效的。所以我認爲你應該用另一種方式來選擇或識別輸入。

+0

謝謝查爾斯。這真的很漂亮。我用代碼中的類替換了ID。 – Ravi 2012-08-14 04:49:06

0

DEMO

$(document).ready(function() { 
    var autonumber = function() { 
     $("tr.gridrow").each(function(i) { 
      $(this).find("input[name='lineNo']").val(i + 1); 
     }); 
    }; 
    autonumber(); 

    var emptyItems = $(".gridrow:first").clone(); 
    $(".addrow").live('click', function(e) { 
     e.preventDefault(); 
     $(this).parents('.gridcontainer').append(emptyItems.clone()); 
     autonumber(); 
    }); 

    $(".delrow").live('click', function(e) { 
     e.preventDefault(); 
     $(this).parents('.gridrow').remove(); 
     autonumber(); 
    }); 
}) 

當心,你沒有用相同的ID克隆標籤。您最好使用班級。

+0

謝謝基。我用代碼中的類替換了ID。 – Ravi 2012-08-14 04:50:36