javascript - 使用 jQuery/Javascript 将多个输入字段复制到其他匹配的输入字段

标签 javascript jquery forms input each

我有一个虚拟表单和实际表单,在某些时候我想将所有输入值从虚拟表单复制到真实表单。 虚拟字段将具有与真实表单相同的名称(因此我可以将它们匹配)。

所以以虚拟形式:

<input name="item1" value="field1" />
<input name="item2" value="field1" />
<input name="item3" value="field1" />

真实形式:

<input name="item1" value="" />
<input name="item2" value="" />
<input name="item3" value="" />

我假设我需要以虚拟形式迭代每个输入(使用 jQuery .each() ?),同时收集 JS 对象中的名称和值。 然后以真实形式迭代每个输入,将名称匹配为选择器并设置值(也许这可以在一个 .each() 函数中完成???)

我从以下代码开始,它仅将值(和索引)抓取到数组中,但是因为我需要两个值(名称和值,索引不相关),所以我假设我需要一个对象而不是一个对象数组,但真的不知道从哪里开始。

var inputValues = [];
    $("#dummyForm input").each(function() {
        inputValues.push($(this).val());
    });

非常感谢任何帮助或建议。

最佳答案

将它们映射为

$('#DummyForm [name]').each(function() {
  var name = $(this).attr('name');
  $('#RealForm [name="' + name + '"]').val($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<form id="DummyForm">
  <input name="item1" value="field1" />
  <input name="item2" value="field2" />
  <input name="item3" value="field3" />
</form>
<form id="RealForm">
  <input name="item1" value="" />
  <input name="item2" value="" />
  <input name="item3" value="" />
</form>

关于javascript - 使用 jQuery/Javascript 将多个输入字段复制到其他匹配的输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31174243/

相关文章:

javascript - 在对象内使用 'this' 值

javascript - Ng-Route 不适用于 Node/Express 静态服务器

javascript - 如何自动向 React 元素添加适当的类名

javascript - AJAX 购物车 - 在 Javascript/jQuery 中实现的最佳方式

jQuery 1.7 .on() 和动态表单捕获

html - 仅当选中复选框时才提交表单

javascript - JavaScript 中的分支

php - 使用 JQuery 时是否有更好的方法来检查过期的 SESSIONS?

javascript - 如何让 chrome 扩展在页面加载时在后台执行功能?

ruby-on-rails - Rails 分步创建对象