如何收集表单属性名称和“;value"使用javascript从表单的特定部分导入数组

How to collect form atrribute "name" and "value" into array from specific part of form using javascript?

本文关键字:表单 javascript 定部 数组 导入 使用 属性 何收集 value quot      更新时间:2023-09-26

如何收集表单属性"名称"answers"值"到数组从表单的特定部分使用javascript?

我有一个部分的形式像这样:

<div class="multiPickerForm">
<input type="text" name="Id" value="1">
<input type="text" name="OrderNumber" value="SK4569">
<span class="multiPickerItemAddBtn"></span>
</div>

我需要使用javascript读取表单的那一部分,并创建对象数组,如。

var obj = { name:'OrderNumber', value:'SK4569' } 

或类似的东西,这样我就可以循环它,并轻松地从格式化对象中访问数据,以便进一步开发。

如有任何建议,我将不胜感激。由于

应该是这样的:

var obj = [];
$("div.multiPickerForm :input").each(function () {
  var tmpPair new Object();
  tmpPair['name'] = $(this).attr('name');
  tmpPair['value'] =  = $(this).val();
  obj.push(tmpPair);
});
console.log(obj);

您可以使用serializeArray(),它可以完全满足您的需求

<div class="multiPickerForm">
 <input type="text" name="Id" value="1">
 <input type="text" name="OrderNumber" value="SK4569">
 <span class="multiPickerItemAddBtn">        </span>
  </div>
$('.multiPickerForm :input').serializeArray()

EDIT -您可以在表单或表单元素的子集上使用它,我更新了我的示例。摘自文档

这个方法可以作用于一个选择了individual的jQuery对象形式元素,如<input><textarea><select>。然而,它选择标签本身进行序列化通常更容易:

此处提琴http://jsfiddle.net/yffr5/

可以使用elements集合访问表单中的控件。您可以遍历它们以测试它们是否是带有multiPickerForm类的div的后代。