2015-08-19 50 views
0

行,所以我有此功能如何在JS FOR循環中使用jquery .append()?

success: function (data) { 
    $('#chat').val(data); 
    for (var i = 0, i < data.length, i++) { 
     $.append("#ID: " + "#Mesaage"); 
    } 
} 

在其中數據是可變的,其保持其上顯示如下所示的JSON數組:

{ID: Message}

我怎樣才能給它一個格式,因此它會只需打印不帶大括號的「ID:Message」?

回答

0

你可以利用Object.keys這裏:

success: function (data) { 
    var key = Object.keys(data) 
    $('#chat').val(key +":"+ data[key]); 
}, 

樣品測試是如下:

var data = {"Id":"Message"}; 
 
var key = Object.keys(data); 
 
$(document.body).append(key +":"+ data[key]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

0

這裏的數據是一個JSON元素,它就像一個普通的對象或類實例,您可以通過簡單地調用data.ID來訪問ID的值。

E.g.

$.append ("ID: " + data.ID); 
0

你的意思是這個(不知道大括號是什麼意思......)?無論如何,你需要先修改代碼爲您的循環,因爲你會得到一個語法錯誤:

success: function (data) { 

    // cache your DOM element 
    $chat = $('#chat'); 

    for (var i = 0; i < data.length; i++) { 
     $chat.append('ID: ' + data[i].Message); 
    } 
} 
-1

$.append是一個沒有選擇無效。你需要告訴jQuery的你在哪裏放置HTML

$(selector).append("#ID: " + "#Mesaage"); 

還可以使用適當的for語法與;分離不,

你也不能這樣做,因爲$('#chat').val(data)數據是一個數組