jQuery查找元素,然后组成逗号分隔的列表
jQuery find elements then make into comma separated list
我的页面上有很多文本框,我想在单击按钮时将其中的值添加到另一个元素中。然而,我当前的代码输出的值如下:
Value oneValue twoValue three
我更喜欢他们这样出来:
Value one, Value two, Value three
我当前的JS是这样的:
var textInput = $(".random-input").text();
$(".output-box").append(textInput);
问题是因为所有元素都被一起解释。要修复此问题,您可以将文本值map()
添加到数组中,并将其join()
添加到中
var textInput = $(".random-input").map(function() {
return $(this).val();
}).get().join(', ');
$(".output-box").text(textInput);
工作示例
以上假设.output-box
是标准元件。如果是另一个文本框,则需要使用val(textInput)
。
更新:2020年10月
上面的例子现在也可以通过使用ES6箭头函数变得更加简洁,但请注意,这在IE中是不受支持的
var textInput = $(".random-input").map((i, el) => el.value).get().join(', ');
$(".output-box").text(textInput);
您可以遍历每个输入,然后使用join
var textInput = [];
$(".random-input").each(function() {
textInput.push(this.value)
});
$(".output-box").append(textInput.join(', '));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' class='random-input' value='val1' />
<input type='text' class='random-input' value='val1' />
<input type='text' class='random-input' value='val1' />
<input type='text' class='random-input' value='val1' />
<input type='text' class='random-input' value='val1' />
<input type='text' class='random-input' value='val1' />
<input type='text' class='random-input' value='val1' />
<div class='output-box'></div>
@Rory McCrossan代码被移到jQuery函数joinVal:
jQuery.fn.extend({
joinVal: function (separator)
{
if (typeof separator === 'undefined')
separator = ",";
var $this = $(this);
if ($this && $this.length > 1)
return $this.map(function () { return $(this).val(); }).get().join(separator);
else
return $this.val();
}
});
用法:
var textInput = $(".random-input").joinVal();
https://jsfiddle.net/NickU/4j892h0u/3/
相关文章:
- 如何将逗号分隔的列表转换为<ul>列表
- 检查变量并将它们添加到逗号分隔的列表中
- 用于在列表中进行多重搜索的正则表达式,用逗号分隔
- jQuery查找元素,然后组成逗号分隔的列表
- 正则表达式用于逗号分隔浮点数的列表
- javascript 正则表达式验证列表以逗号分隔
- 如何从 JSON 响应中获取逗号分隔的列表
- jQuery 手机间隙:- 列表视图中的自动分隔器是否正常工作
- 使用复选框过滤 angularjs 中的数据,并在逗号分隔的列表中显示在文本框内
- 将空格分隔的类列表转换为 Jquery 选择器的有效方法
- 将逗号分隔列表转换为无序列表
- 如何制作正则表达式以匹配逗号分隔的列表,列表中最多包含 5 个项目
- 帆.js如何修改路由以插入逗号分隔的 ID 列表
- Regex替换逗号分隔列表中的单词
- 从我的查询中为JavaScript创建逗号分隔列表
- 如何阻止emacs缩进javascript逗号分隔列表的第二行(例如array或json) ?
- PHP/JS:删除分隔列表中的最后一个逗号
- 如何";逃逸;POST请求中逗号分隔列表中的逗号
- 正则表达式逗号分隔列表包含九位电话号码
- 将 JavaScript 数组转换为逗号分隔列表的简单方法