如何在jquery中将列表项添加到文本框中?
我有一张单子如何在jquery中将列表项添加到文本框中?,jquery,html,Jquery,Html,我有一张单子 <ul id="list"> <li>list1</li> <li>list2</li> <li>list3</li> </ul> 清单1 清单2 清单3 和文本框 <input type="text" name="textfield" id="tb" value="" /> 当我点击一个按钮时,所有列表项都应该像这样出现在文本框中 list1 list2lis
<ul id="list">
<li>list1</li>
<li>list2</li>
<li>list3</li>
</ul>
- 清单1
- 清单2
- 清单3
和文本框
<input type="text" name="textfield" id="tb" value="" />
当我点击一个按钮时,所有列表项都应该像这样出现在文本框中
list1 list2list3
我想在jquery中这样做。请帮助我。阅读jQuery方法,了解以下代码片段:
<input type="button" id="populate" value="Populate" />
<script type='text/javascript'>
$('#populate').click(
function() {
$('#tb').val('');
var list_items = new Array;
$('#list li').each(
function(i, list_item) {
list_items.push(list_item.innerHTML);
}
);
$('#tb').val(list_items.join(' '));
}
);
</script>
$(“#填充”)。单击(
函数(){
$('tb').val('');
var list_items=新数组;
$(“#列表li”)。每个(
功能(i,列表项){
list\u items.push(list\u item.innerHTML);
}
);
$('#tb').val(列表项.join('');
}
);
使用.map()
是解决这种情况的好方法
它会自动为您构建一个数组(实际上是一个jQuery对象)
然后使用.get()
获取数组,并使用.join()
将元素连接到字符串中
$('#button').click(function() {
var result = $('#list li').map(function() { // .map() will iterate over the <li> elements.
return $(this).text(); // Each iteration will return the text value in the element
}).get().join(" "); // Grab the Array, and join with a blank space
$('#tb').val(result); // Set the value of your input
});
$(“#按钮”)。单击(函数(){
var result=$('#list li').map(function(){/.map()将迭代元素。
return$(this).text();//每次迭代都将返回元素中的文本值
}).get().join(“”;//获取数组,并用空格连接
$('#tb').val(结果);//设置输入的值
});
相关jQuery文档:
-.map()
-.get()