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