jquery - 在提交时将多个输入值添加到 textarea
问题描述
我有几个输入字段,输入字段的数量因用户输入的输入字段而异。如果用户输入 1,则显示 20 个文本字段和 20 个电子邮件,如果输入 2,则显示 40 个文本字段和 40 个电子邮件字段,依此类推。在提交表单时,我需要将这些字段添加到用逗号分隔的 textarea 字段中。它与此处所做的类似:将<input> 值重新发布到 <textarea>但由于可能的字段数量众多,我无法将每个输入添加为变量。考虑到可能有这么多领域,有没有一种有效的方法来做到这一点?TIA。
<div id="sponsor">
<input type="text">
<input type="email">
</div>
<textarea></textarea>
解决方案
我希望你们所有人都在idinput
之下。div
sponsor
- 所以你可以选择所有的
inputs
with selector$("#sponsor input")
。 - 用 获取它们的值
.toArray().map(x => x.value)
。 ,
加入他们.join(",")
- 设置
id
为,textarea
以便您可以为其分配值。
注意:如果您还有其他sponsor
不应该包含的输入,那么您必须将类添加到您input
想要包含的 s 并使用class
选择器来获取列表。假设我们添加一个类input
,然后使用$('.input')
而不是$("#sponsor input")
.
你可以在下面测试它。
function submit() {
var commaSeparatedValues = $("#sponsor input").toArray().map(x => x.value).join(",");
$("#list").val(commaSeparatedValues);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div id="sponsor">
<input type="text">
<input type="email">
</div>
<textarea id="list"></textarea>
<input type="button" value="submit" onclick="submit()">
推荐阅读
- iptables - 怎么办:iptables 丢弃碎片?
- apache-flink - Flink MapState 在 TTL 清理期间清理映射键的整个值
- javascript - 在 Esri 地图上放置图钉后如何停止自动保存页面?
- android - 具有新技术和动画的 Android 主题启动器活动(启动画面)
- javascript - 如何在 VueCLI 3 中全局获取 `webpack.config.js` 或 `vue.config.js` 文件数据
- azure-powershell - 尝试在 azure 中获取应用程序配置
- django - 在 Django 模型中定义 FileField upload_to 目录
- python - 熊猫可以复制数据并与另一个数据框合并吗
- ios - swift ios 8.0 RSA 加密(已知 publicKey)
- java - Magnolia 6.1.1 分析器(小写和重音)