2015-09-17 19 views
0

我使用Bootstrap,每次用戶點擊「添加」按鈕時,我想添加一組字段。我寫JavaScript的一個部分:每當用戶點擊一個按鈕時,如何將字段組添加到我的表單中?

$(document).ready(function(){ 
    var i = 1; 
    $("#add_row").click(function(){ 
     $('#singleCommercial' + i).html('...'); 
     $('#listOfCommercials').append('<div id="singleCommercial' + i + '"></div>'); 
     i++; 
     alert(i); 
    }); 

    $("#delete_row").click(function() { 
     if (i > 1) { 
      $("#singleCommercial" + (i - 1)).html(''); 
      i--; 
     } 
    }); 
}); 

當我打的添加按鈕我得到的「我」,但字段不會被添加自己適當的值彈出每次。它隨機爲我工作 - 有時我需要添加行,然後刪除它,然後我可以再添加兩行,等等。你可以看看我的小提琴:http://jsfiddle.net/7yd5o63q/ 並告訴我什麼是錯的,我怎樣才能添加一組字段時間用戶點擊一個按鈕? 謝謝!

+0

我會看看jQuery clone()和remove(),你可以簡化這個代碼很多。 –

回答

2

當您嘗試設置其HTML時,元素$('#singleCommercial' + i)不存在。此舉系在其中添加它做文檔的下一行下面:

$('#listOfCommercials').append('<div id="singleCommercial' + i + '"></div>'); 
$('#singleCommercial' + i).html('...'); 

這是你的jsfiddle的工作更新版本:http://jsfiddle.net/7yd5o63q/2/

+0

打敗我 - 享受快樂的朋友。 –

0

添加$('#singleCommercial'+ i).html('...');在追加之後行。這裏的問題在於,您將HTML添加到尚不存在的元素。當你再次點擊按鈕時發生的事情是,之前的i值的div獲取下一個HTML內容:-)。

相關問題