2012-04-06 185 views
1

我爲我的項目使用jQuery的克隆和兒童概念。我在div中使用一個表(類是clonedInput),通過點擊一個按鈕,我克隆整個div並在div後面插入它。在這個時候: 「jquery克隆兒童

var num  = $('.clonedInput').length; 
var newNum = new Number(num + 1); 
var newElem = $('#input' + num).clone().attr('id', 'input' + newNum); 
$('#input' + num).after(newElem); 

」 通過使用此,我增加了DIV ID。同時我想增加表tr和td的id。爲此我嘗試了children.attr()。但是這不會增加表格ID。任何人都可以爲我澄清這一點?

在此先感謝。

+0

你能澄清你想要做什麼嗎?目前還不清楚你的問題是什麼。 – jmort253 2012-04-06 05:47:54

+0

頁面的佈局是必需的。 – Alexander 2012-04-06 05:48:50

+0

我試圖添加細節的形式。一旦用戶添加數據,例如公交路線詳細信息,如果他們想要添加更多路線,點擊添加路線按鈕即可重複表格詳細信息。 – 2012-04-06 05:53:33

回答

2

我有一個函數,它用一個遞增的ID在一行中創建輸入。這不是你正在尋找的東西,但我相信它會給你一個相當好的想法,以便如何完成這項任務。

var numbers =0 
$(function() { 
var newRowNum = 0; 

    $('#addnew').click(function() { 
     newRowNum++; 
     ///////////// <a> <td> <tr> 
     var addRow = $(this).parent().parent(); 
     ///////////// In the line below <tr> is created 
     var newRow = addRow.clone(); 
     $('input', addRow).val(''); 
     $('td:first-child', newRow).html(); 
     $('td:last-child', newRow).html('<a href="" class="remove">Remove<\/a>'); 
     $('input', newRow).each(function(i) { 
      var newID = newRowNum + '_' + i; 
      $(this).attr('id', newID).attr('name', newID); 
     }); 
     addRow.before(newRow); 

     $('a.remove', newRow).click(function() { 
      $(this).parent().parent().remove(); 
      return false; 
     }); 

     return false; 
    }); 
    numbers = newRowNum; 
}); 
2

目前尚不清楚什麼是你想這樣做,但我的猜測是,你可以嘗試:



    var num  = $('.clonedInput').length; 
    var newNum = new Number(num + 1); 
    var newElem = $('#input' + num).clone(); 

    newElem.attr('id', 'input' + newNum); 
    $('#input' + num).after(newElem); 

整個

$('#input' + num).clone().attr('id', 'input' + newNum);

部分可能不會給你克隆對象,而是布爾結果或一些整數。

如果問題沒有解決,您可以嘗試append()函數。

+0

好的謝謝大家。我解決了問題... – 2012-04-06 06:45:34

+0

@ Dinesh.B很高興爲您服務。如果是這樣的話,不要忘記正確的檢查正確的答案。 – anuragsn7 2012-04-06 06:50:15