-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);
}
}
});
使用'JSON.parse'從請求中獲取數據,* never *'eval()'。除此之外,你現在的JS代碼似乎正在做你所需要的東西,它有什麼問題嗎?請注意,通過使用jQuery創建元素,可以使代碼更加簡潔,但這不會影響其邏輯。 –
這不是問題數據正確進入文本框。我想將每個文本框分別添加到div標籤 – RMBPMK
爲什麼不創建div,就像創建了輸入一樣?所以你爲每個輸入創建一個div,然後將輸入附加到該div? –