2012-02-06 45 views
0

我瘋了試圖綁定json字符串到下拉列表。請有人幫忙?代碼綁定JSON字符串到下拉列表

我的下拉列表ID爲 'ddlteams'

我的JSON字符串是這種形式:

"{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}" 

所以首先我轉換成一個對象。

var objdata = $.parseJSON(jsonObj.d); 

然後我添加我的代碼給下面。

$('#ddlteams').children().remove(); 

我遇到了下面的代碼問題。請有人可以幫我這個

$.each(objdata, function(i, val) { 
    $('#ddlteams').append('<option value="' + objdata.TeamList[0].teamid + '">' + TeamList[0].teamname + '</option>'); 
}); 
+0

假設'objdata'是解析JSON,'i'將' 「團隊列表」'和'val'是數組。看看'each'的文檔。只需在'objdata.TeamList'上正常迭代即可。 – 2012-02-06 19:20:43

+0

嗨費利克斯,抱歉,但我沒有得到你。我需要用「TeamList」替換我嗎? val是關鍵字嗎? – jith10 2012-02-06 19:24:37

+0

您正在使用'$ .each',但它似乎並不知道它是如何工作的。它將迭代傳遞數組的對象或元素的每個屬性。屬性名和它的值作爲參數傳遞給回調函數,在你的情況下''''和'val'。 – 2012-02-06 19:29:25

回答

4

嘗試

$.each(objdata["TeamList"], function(i, val) { 
    $('#ddlteams').append('<option value="' + val.teamid + '">' + val.teamname + '</option>'); 
}); 
+0

嗨,似乎工作,但我得到未定義的下拉列表中。 – jith10 2012-02-06 19:31:17

+0

val.teamid是正確的選項? – jith10 2012-02-06 19:31:34

+0

也許'$('#ddlteams')。append('');'?我會盡力重現您的工作內容,並幫助您實現目標。 – Will 2012-02-06 19:40:29