2015-07-06 55 views
5
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> 

Ở trên tôi muốn đặt tên trong mảng bên trong khoảng nhưng những gì đang xảy ra chỉ là một tên được hiển thị cuối cùng. Ý nghĩa tên là overriden làm thế nào tôi có thể lặp tên vì vậy tất cả có thể được hiển thịđặt giá trị phần tử mảng trong khoảng jquery

Tôi muốn nó trông giống như

John Smith 
James Harden 

Trả lời

8

Vấn đề đang sử dụng .text() sẽ ghi đè giá trị trước đó bằng giá trị mới, bạn cần tiếp tục nối giá trị cho giá trị trước đó.

Vì vậy, một giải pháp là tạo ra một loạt các cname sau đó sử dụng .join() để tạo ra html đầu ra mong muốn và sử dụng .html() để thiết lập các nội dung

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 />'))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<span id='name'></span>

+0

Có cách nào để làm cho nó linh hoạt hơn tôi có nghĩa là tôi có khoảng khác tôi muốn làm như thế này. – guradio

+0

@Pekka có thể có nếu bạn có thể giải thích yêu cầu của bạn - nếu có thể chỉnh sửa [fiddle này] (http://jsfiddle.net/arunpjohny/95g4b32k/2/) để tạo lại vấn đề của bạn –

+0

http://jsfiddle.net/95g4b32k/3/sau đó tôi muốn đặt giá trị trên mỗi khoảng thời gian mà tôi thêm địa chỉ cho span với id địa chỉ liên lạc cho span với id liên hệ – guradio

3

sử dụng append()

$('#name').append(element.cname+"<br>"); 

DEMO

+0

rằng sẽ không thể đa dòng Mặc dù –

+0

@ JaromandaX Thanks ..cập nhật :) – Balachandran

1
var str = ''; 
$.each(data, function (item, element) { 
    str += element.cname + '<br />'; 
}); 
$('#name').html(str); 

Hy vọng điều này sẽ hữu ích.

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); 
Các vấn đề liên quan