如何通过javascript传递数组输入框值?我只填充第一个值

时间:2018-10-10 06:08:02

标签: javascript php jquery

在这里,我为名称为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;

          }
          }
    });
}

3 个答案:

答案 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;

          }
          }
    });
}