2012-09-24 101 views
4

我問了另一個問題,並得到了答案,但仍然設法搞砸了。我有一個for循環,我想在我的for循環中創建一個模板的克隆。我希望通過循環第一次將每個id替換爲id + 0。因此,文本框ID爲tFirstNametFirstName0和id tLastNametLastName0等等......那麼下一個克隆,然後通過循環下一次會是tFirstName1,tLastName1,等..替換循環中的id屬性

與此問題代碼是i是添加一個用於每個文本框,所以在第一個模板的ID是tFirstName0tLastName1,等..

我找的 - 如果某人有一個建議,以保持i一致通過了對環,然後增加,然後保持統一通過下一個循環

var NumofClones = (4 * 1); 
      for (i = 0; i < NumofClones; i++) { 
       var newrow = $('._template').clone().removeClass('_template'); 
       newrow.find('input[type=text]').attr('id', function (i, oldID) { 
        return oldID + i 
       }); 

       $('.placenewrows').append(newrow); 
      } 

回答

4

.attr()的回調函數參考參數i,而不是在該i for循環i,改變回調函數還有一些其它的參數i

var NumofClones = (4 * 1); 
for (var i = 0; i < NumofClones; i++) { 
    var newrow = $('._template').clone().removeClass('_template'); 
    newrow.find('input[type=text]').attr('id', function (index, oldID) { 
     return oldID + i; 
    }); 
    $('.placenewrows').append(newrow); 
} 
+0

在週日晚上工作時會導致愚蠢的錯誤,比如定義我兩次而沒有注意到,我只是在那裏不再需要一箇舊功能,謝謝 –