在这里,我为名称为ItemName []的输入框数组添加了getvalue代码。它仅填充第一个输入框的值
function getselectedvalue()
{
var selectedvalue = document.getElementById("ItemName[]").value;
console.log(selectedvalue);
$.ajax({
url: 'fetch.php',
type: 'post',
data: { value : selectedvalue },
dataType: 'JSON',
success: function(response){
var len = response.length;
for(var i=0; i<len; i++){
var item_desc = response[i].item_desc;
var selling_price = response[i].selling_price;
var tax =response[i].tax;
console.log(item_desc);
console.log(selling_price);
console.log(tax);
document.getElementById("ItemDesc[]").value= item_desc;
document.getElementById("UnitPrice[]").value= selling_price;
}
}
});
}
答案 0 :(得分:1)
如果数组名称不止一个,则不能使用数组名称作为ID(我认为存在),否则为什么要使用数组。
我建议您仅将其用于名称。然后,假设您有许多对一个ItemName []
,可以执行此操作以填充所有内容success: function(response) {
var len = response.length;
var descs = document.querySelectorAll("name=ItemDesc[]");
var prices = document.querySelectorAll("name=UnitPrice[]");
for (var i = 0; i < len; i++) {
var item_desc = response[i].item_desc;
var selling_price = response[i].selling_price;
var tax = response[i].tax;
descs[i].value = item_desc;
prices[i].value = selling_price;
}
}
答案 1 :(得分:0)
您可以使用map或.each方法获取数组输入数据。请找到以下示例:
var selectedvalue = $("input[name='ItemName[]']").map(function(){
return $(this).val();
}).get();
答案 2 :(得分:0)
下面的代码将获取所有文本框值,并将数据作为数组传递给您的Ajax函数
function getselectedvalue()
{
var arrayOfValues = $(":input[type='text']").map(function() {
return $(this).val();
})
.get();
console.log(arrayOfValues );
$.ajax({
url: 'fetch.php',
type: 'post',
data: { value : arrayOfValues },
dataType: 'JSON',
success: function(response){
var len = response.length;
for(var i=0; i<len; i++){
var item_desc = response[i].item_desc;
var selling_price = response[i].selling_price;
var tax =response[i].tax;
console.log(item_desc);
console.log(selling_price);
console.log(tax);
document.getElementById("ItemDesc[]").value= item_desc;
document.getElementById("UnitPrice[]").value= selling_price;
}
}
});
}