2015-01-12 59 views
0

ajax響應我得到了一個響應,我警告它顯示的響應[對象對象]。 那麼我這樣做,ajax響應我得到了[對象對象]

var Str = JSON.stringify(response); 

然後我提醒

alert(Str); 

後來我

[{"m_Code":1054,"m_Name":"Vijay"}] 

現在我要綁定在html中選擇框中的值

<select><option value = "1054">Vijay</option></select> 

我該怎麼做?請幫我

+0

此外,有人必須說 - 使用console.log(Str)代替警報,並習慣使用開發控制檯(例如螢火蟲)。節省了一堆時間;你可以很容易地檢查物體的內容,而且他們現在還有大約1001個其他有用的小工具。 – danwild

回答

1

AJAX響應內容是JSON對象數組可能OPTIONS多,所以你需要使用$.each()函數訪問數組和操作成HTML

var response = [{"m_Code":1054,"m_Name":"Vijay"}]; 
var options = ''; 
$.each(response, function(i, v){ 
    //options += '<option value='+v.m_Code+'>'+v.m_Name+'</option>'; 
    //OR 
    options += $('<option></option>', {value: 1, text: 'abc'})[0].outerHTML 
}); 
$('select').html(options); 
+0

最好在foreach循環中創建一個字符串,並在連接完成後追加一次。你正在訪問DOM太多沒有任何需要.. – Dieterg

+0

是的,謝謝,這將有利於性能減少訪問'DOM'只有一次 – Girish

+0

@DieterGoetelen看到更新的代碼 – Girish

0

響應是一個包含對象的數組。你可以得到的價值和名稱:

var value = response[0].m_Code; 
var name = response[0].m_Name; 
3

環通響應

var str="<select>"; 
for (i=0; i<response.length; i++) { 
    str +="<option value='"+response.d[i].m_Code+"'>"+response.d[i].m_Name+"</option>" 
} 
str +="</select>";