给定未知数量的动态生成的文本输入:
for (var i = 0; i < numInputs2Render; i++) { collectEmails = collectEmails + '<input type="text" id="Email' + i + '" name="Email' + i + '">'; }
我需要生成一个逗号分隔的组合输入值的字符串. jQuery是否给我一个一步的解决方案,还是我需要迭代并手动构造字符串? (如果手动……看起来怎么样?)
谢谢
解决方法
您可以使用
.map()
,如下所示:
var emails = $("input[name^=Email]").map(function() { return this.value; }) .get().join(',');
这使用attribute-starts-with selector查找输入,然后使用.map()
将值输入数组,将.join()
输入单个字符串.
如果他们在一个容器中,请说< div id =“Emails”>你可以将选择器缩小到像$(“#Emails input”)这样的东西,我不能肯定地说没有看到你的标记,但任何带有容器选择器的东西都会使它更有效率.