var data = [{"id":"2015-07-003","cname":"John Smith ","caddress":"Tokyo,Japan","ccontact":"123"},{"id":"2015-07-003","cname":"James Harden","caddress":"Osaka Japan","ccontact":"345"}]
$.each(data, function(item, element) {
alert(element.cname);
$('#name').text(element.cname);
});
<span id='name'></span>
在上面我想把数组中的名字放在span中,但是发生了什么只是最后一个显示了一个名字。意思是名称被覆盖我如何迭代名称以便显示所有名称
我希望它看起来像
John Smith
James Harden
答案 0 :(得分:8)
问题是使用.text()将使用新值覆盖以前的值,您需要继续将值附加到前一个值。
所以一个解决方案是创建一个cname
数组,然后使用.join()
生成所需的输出html并使用.html()来设置内容
var data = [{
"id": "2015-07-003",
"cname": "John Smith ",
"caddress": "Tokyo,Japan",
"ccontact": "123"
}, {
"id": "2015-07-003",
"cname": "James Harden",
"caddress": "Osaka Japan",
"ccontact": "345"
}]
$('#name').html($.map(data, function(item) {
return item.cname
}).join('<br />'))
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span id='name'></span>
&#13;
答案 1 :(得分:3)
答案 2 :(得分:1)
var str = '';
$.each(data, function (item, element) {
str += element.cname + '<br />';
});
$('#name').html(str);
希望这有帮助。
答案 3 :(得分:1)
//Declare a variable
var data=""
$.each(data, function(item, element) {
//Append element to data variable.
alert(element.cname);
data+=element.cname;
});
//Append the entire data to the span at the end.
$('#name').append(data);