获取span的每个类的值,并将字符串输入
get value of each class of span and put string to input
我有一个名为"标记标签"的跨度中的值列表。我希望添加每个跨度的值,并将它们插入到用逗号分隔的输入字段中。
我已经建立了一个JSFiddle来展示它。http://jsfiddle.net/stefanselby/7wrg611k/
我的HTML:
<label for="TagsHolder">Keywords</label>
<ul>
<li><span class="tag-label">test 1</span></li>
<li><span class="tag-label">test 2</span></li>
<li><span class="tag-label">test 3</span></li>
</ul>
<input type="text" id="TagsHolder" name="TagsHolder" value="" />
<button id="btn">Update</button>
<p></p>
<p>This is what I require</p>
<input type="text" id="TagsHolder2" name="TagsHolder2" value="test 1,test 2,test 3" />
我的Javascript(我被卡住的地方):
$(document).ready(function(){
$("#btn").click(function(){
$.each($('.tag-label'), function (index, value) {
$("#TagsHolder").val(index);
});
});
});
您可以使用.map
获取数组,然后加入,
var values = $(".tag-label").map(function() {
return $(this).text();
}).get().join(",");
$("#TagsHolder").val(values);
Fiddle:http://jsfiddle.net/7wrg611k/3/
您的方法存在几个问题。
index
是当前元素的数组索引,而不是它的文本。
您的循环将替换每次通过的值,因此只有最后一个值会被看到,因为之前的每个值集都将被替换
你最好的选择是创建一个数组并加入该数组:
$("#btn4").click(function () {
var values = $('.tag-label').map(function () {
return $(this).text();
}).get().join();
$("#TagsHolder").val(values);
});
DEMO
相关文章:
- 如何在字符串输入的 Html 元素中的双引号内编写单引号
- 用于排除.each上的字符串输入的Javascript
- 使用eval使用字符串输入按名称将函数分配给变量有什么风险
- 是否可以创建HTML文本作为文本到语音转换文本字段的字符串输入
- (联合国)通过字符串输入设置嵌套数组值
- 根据字符串输入生成嵌套的 HTML 列表.香草JS
- Ajax 脚本接收用户字符串输入文本并以 JSON 格式发布
- 在mongoDb中,如果字符串输入与任何数组元素匹配,如何获取整个记录(在这种情况下,数组是记录的属性)
- C#.Net从表单帖子中读取字符串输入
- 获取span的每个类的值,并将字符串输入
- 解析并处理作为字符串输入的DOM
- 如何获得字符串输入并将其存储到var中
- Javascript如何接受多个字符串输入并检查是否匹配
- 根据前4个字符串输入字符更改图像
- 字符串输入自动进入只读字段
- Node.js (yargs)数字作为字符串输入
- 带换行符的字符串输入到数组
- 带有字符串输入的If语句
- 根据Javascript中的字符串输入生成唯一的数字
- 与日期字符串输入相关的年龄计算错误