【问题标题】:Append value to input field using jQuery使用jQuery将值附加到输入字段
【发布时间】:2018-12-10 11:12:57
【问题描述】:

我有一个包含三个字段的小表单,我可以在下次提交该表单时选择不同的选项。我正在使用 ajax 调用提交此表单。

现在在提交表单时,我想发布所有选定的选项。为此,我创建了一个隐藏字段,例如

<input type="hidden" name="selectedproduct[]" id="sel-product">

和 ajax 成功方法是像附加值

 $('#sel-product').val(element.product);

但是在这里我只得到一个值而不是数组。如何将所有值附加到该字段?

【问题讨论】:

  • 你从哪里得到 element.product 对象?你能告诉我们元素数据的结构吗?
  • 在 ajax 响应中 $(data.success).each(function(index, element) {$('#sel-product').val(element.product);});
  • 那行不通。输入元素将只填充数组最后一个元素的值。您需要将 element.product 推送到临时数组变量中,然后将临时数组放在输入值上。
  • 但是当我再次发送 ajax 调用时,临时数组被重置并且我只有一个值:(

标签: javascript jquery ajax append hidden


【解决方案1】:

假设产品字段为“.element_product”类。

//init the array products
arrp=[];


//loop the elements
    $('.element_product').each( function () 
      {
            arrp.push( $(this).val() );
      });

//Pass the array to field
$('#sel-product').val(arrp);

【讨论】:

  • 你不会关闭每个循环
  • 它仍然覆盖以前的值
  • 将先前的值存储在一个数组中,并将arrp推送到具有先前值的数组。加入他们的输入。
  • 它仍然无法正常工作。请问这里有什么问题吗? [arrp=[] temp =[];温度 = 元素。产品; $('.selectedMet').each( function () { arrp.push(temp); }); $('#sel-product').val(arrp);]
  • 您在数组中循环element.product(如temp)而不传递输入值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多