2011-04-09 62 views
0

我有這樣的jQuery代碼:如何通過數組來創建這個循環?

function(returnArray){ 
    for (i=0; i<returnArray.length; i++) { 
     $('<li class="tagSuggestTag"/>').appendTo('#tagSuggest ul').text(returnArray[i]); 
    } 

返回的數組是一個數組,但由於某些原因,我這樣做時,它遍歷數組的每一個字母,而不是數組中的每個值。

的returnArray是["hello", "helloe", "helloer"]和環經過與回報:

enter image description here

+5

你確定returnArray是一個數組嗎?它看起來像字符串'[「hello」,「helloe」,「helloer」]'。 – Dunes 2011-04-09 15:56:06

+0

看起來像'returnArray'是一個字符串(特別是因爲第一個輸出字符是'[') - 你能發佈創建它的代碼嗎? – 2011-04-09 15:56:28

+0

@Dunes @Anders Lindahl實際上現在可能是我想到了。它是一個數組的json_encode()的PHP回聲。任何想法,如果這將返回一個字符串? – chromedude 2011-04-09 15:58:53

回答

2

據透露,在意見的問題是,returnarray是不是一個真正的數組,它是由PHP函數json_encode()計算字符串的JSON字符串表示。

函數jQuery.parseJSON可以將它變成一個javascript數組。

1

你的陣列是一個字符串。使用方法:

var myarray = eval('["hello", "helloe", "helloer"]'); 
+0

euuw - 爲什麼選擇eval? 'var myarray = [「hello」,「helloe」,「helloer」];'將工作 – mplungjan 2011-04-09 16:51:04

+0

,因爲returnArray IS STRING不是數組。這只是一個如何將數組的字符串表示轉換爲實際數組的示例。真正的代碼將是var realArray = eval(returnArray); – herostwist 2011-04-09 17:33:19