Javascript JQuery-从html数组输入获取值
用户可以通过html输入添加尽可能多的项目。输入看起来像Javascript JQuery-从html数组输入获取值,javascript,jquery,Javascript,Jquery,用户可以通过html输入添加尽可能多的项目。输入看起来像 <input class="form-control" name="part_number[]" number" type="text"> <input class="form-control" name="part_number[]" number" type="text"> <input class="form-control" name="part_number[]" number" type="
<input class="form-control" name="part_number[]" number" type="text">
<input class="form-control" name="part_number[]" number" type="text">
<input class="form-control" name="part_number[]" number" type="text">
<input class="form-control item" name="description[]" type="text">
<input class="form-control item" name="description[]" type="text">
<input class="form-control item" name="description[]" type="text">
我想将这些项目添加到我的数据库中进行存储。。如何通过每个输入进行迭代?零件号和说明属于一行。如果您的输入在表单中,则可以使用.serializeArray,然后使用.reduce创建一个对象,该对象存储多个输入类型的键和数组值,如下所示。然后,您可以将此数据提交到服务器,然后存储到数据库中: 常量数据=$myform.serializeArray.ReduceAc,o=>{ 如果o.name.slice-2==[]{ acc[o.name]=acc[o.name]| |[]; acc[o.name].pusho.value; }否则{ acc[o.name]=o.value; } 返回acc; }, {}; console.logdata;//要发布的数据 函数getdata{ var partNumbers=[]; var描述=[]; $'[名称=零件号[]]'。每个函数{ partnumber.pushthis.value; } $'[name=description[]]'。每个函数{ descriptions.pushthis.value; } 风险值数据={ 零件号:零件号, 描述:描述 } $'output'.valJSON.stringifydata } 获取数据
从您的问题中,我了解到您希望将说明和零件号排成一行。 请使用jQuery的函数查找我的答案。 .each函数遍历所有指定的元素,并返回每个元素的索引位置。在这里,我迭代了零件号,所以我想得到相应的描述,即零件号索引位置的描述。要实现这一点,我需要使用另一个jQuery选择器。它将选择匹配集中索引n处的元素。 $.submit.onclick,函数{ 让用户输入=[]; $input[name='part_number[]']。每个函数索引{ 用户输入.push{ 零件号:$this.val, 描述:$`。项:eq${index}`.val }; }; console.logfinal result=,用户输入; };
Save我宁愿修改HTML,也不愿事后修改数据 您有值description和part_number的项,为了对数据进行分组,我首先在HTML中对它们进行可视化分组,在每个part_number+description对周围添加一个包装器: 要在表单中添加多个项目元素,您需要在将每个项目添加到表单时为其添加ID:
<div class="item">
<input type="text" name="item[0][part_number]" />
<input type="text" name="item[0][decription]" />
</div>
<div class="item">
<input type="text" name="item[1][part_number]" />
<input type="text" name="item[1][decription]" />
</div>
<div class="item">
<input type="text" name="item[part_number]" />
<input type="text" name="item[decription]" />
</div>
<div class="item">
<input type="text" name="item[0][part_number]" />
<input type="text" name="item[0][decription]" />
</div>
<div class="item">
<input type="text" name="item[1][part_number]" />
<input type="text" name="item[1][decription]" />
</div>
foreach( $_POST['item'] as $item) {
$item['part_number'];
$item['description];
}