2017-02-16 22 views
-2

我想將來自ajax調用(var data)中成功函數的數據動態添加到文本框中,如同下面給出的代碼一樣。我需要在div標籤中添加每個文本框。告訴我在for循環中添加div標籤中每個文本框的方法。如何通過循環在div標記內動態添加文本框

$.ajax({ 
    type: 'POST', 
    url: 'GRNgetItem.php', 
    data: postForm1, 
    //dataType: 'json', 
    success: function (data) { 
     var container = document.getElementById('item'); 
     // var container = document.getElementById('item_Name'); 
     var dd = data; 
     var data = (typeof dd) == 'string' ? eval('(' + dd + ')') : dd; 
     for (var i = 0; i < data.length; i++) { 
      var txtItemId = document.createElement('input'); 
      txtItemId.type = 'text'; 
      txtItemId.id = 'ItemId_' + i; // Set id based on "i" value 
      txtItemId.name='ItemId[]'; 
      txtItemId.class='col-md-2'; 
      txtItemId.value=data[i].ItemId; 
      container.appendChild(txtItemId);   
      var txtItemName = document.createElement('input'); 
      txtItemName.type = 'text'; 
      txtItemName.id = 'ItemName_' + i; // Set id based on "i" value 
      txtItemId.name='ItemName[]'; 
      txtItemName.class='col-md-2'; 
      txtItemName.value=data[i].ItemName; 
      container.appendChild(txtItemName);  
      var txtItemQty = document.createElement('input'); 
      txtItemQty.type = 'text'; 
      txtItemQty.id = 'ItemQty_' + i; // Set id based on "i" value 
      txtItemId.name='ItemQty[]'; 
      txtItemQty.class='col-md-2'; 
      txtItemQty.value=data[i].Qty; 
      container.appendChild(txtItemQty); 
      var txtItemRPrice= document.createElement('input'); 
      txtItemRPrice.type = 'text'; 
      txtItemRPrice.id = 'ItemPrice_' + i; // Set id based on "i" value 
      txtItemId.name='ItemPrice[]'; 
      txtItemRPrice.class='col-md-2'; 
      txtItemRPrice.value=""; 
      container.appendChild(txtItemRPrice); 
     }  
    } 
}); 
+3

使用'JSON.parse'從請求中獲取數據,* never *'eval()'。除此之外,你現在的JS代碼似乎正在做你所需要的東西,它有什麼問題嗎?請注意,通過使用jQuery創建元素,可以使代碼更加簡潔,但這不會影響其邏輯。 –

+0

這不是問題數據正確進入文本框。我想將每個文本框分別添加到div標籤 – RMBPMK

+0

爲什麼不創建div,就像創建了輸入一樣?所以你爲每個輸入創建一個div,然後將輸入附加到該div? –

回答

0

嘗試用此Javascript

var container = document.getElementById('item'); 
var div = document.createElement('div'); 
var txtItemId = document.createElement('input'); 
txtItemId.type = 'text'; 
txtItemId.id = 'ItemId_' ; 
txtItemId.name='ItemId[]'; 
txtItemId.class='col-md-2'; 
txtItemId.value=1; 
div.appendChild(txtItemId); 

console.log(container.appendChild(div)) 

這將顯示您textboxDIV標籤內。相應地更改其他腳本