2013-04-18 87 views
0

我正在使用jQuery模板來取得JSON數據來創建表格。此代碼工作正常。但是當我嘗試圍繞此代碼創建一個函數並將JSON數據傳遞給它時,我從AJAX請求中獲取它,它將在控制檯中顯示值,但不顯示在表中。與虛擬數據的工作代碼爲:JSON數據的jQuery模板問題

var json = [{"class":12,"marks":"500","marks1":"200","marks2":"300"},{"class":11,"marks":"200","marks1":"300","marks2":"400"}] 

$.template('kList','<tr title="${class}"><td>${marks}</td><td>${marks1}</td><td>${marks2}</td></tr>'); 

for(var i=0; i<json.length; i++){ 
    $.tmpl('kList',json[i]).appendTo("#table1") 
} 

這裏就是我翹曲功能上的代碼,並通過JSON數據作爲顯示在控制檯中的值時,我與console.log(json)但不能打印參數的代碼填滿桌子。 JSON參數具有與上述代碼中相同的JSON數據。

function dataTable(json){ 
    console.log(json); // here json values are appearing in the console 
    $.template('kList','<tr title="${class}"><td>${marks}</td><td>${marks1}</td><td>${marks2}</td></tr>'); 

    for(var i=0; i<json.length; i++){ 
     $.tmpl('kList',json[i]).appendTo("#table1") 
    } 
} 

請幫助我,因爲我不知道這段代碼有什麼問題。提前致謝。

回答

1

您的json參數是一個字符串。您應該使用$.parseJSON(json)將其轉換爲對象。

查看this以獲取轉換詳情。

+0

這是給我一個響應在控制檯上作爲[對象,對象],我已經使用$ .parseJSON(json),因此參數json是使用$ .parseJSON(json)後的輸出。你有任何其他建議嗎?或者你在這段代碼中發現了什麼錯誤? – Sau

+0

@Sau:請檢查'json [0] .class'是否有價值和反饋。 –

+0

我試過console.log(json [0] .class);並在控制檯中顯示我未定義,但是當我做console.log(json [0]);那麼它會顯示所有值。你可以讓這個代碼工作嗎?我會非常感謝你 – Sau