0

我正在使用 jQuery 模板,它采用 JSON 数据来创建表。这段代码工作正常。但是,当我尝试围绕此代码创建一个函数并将 JSON 数据传递给它时,我从 AJAX 请求中获得,它会在控制台中显示值,而不是在表中。带有虚拟数据的工作代码是:

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")
    }
}

请帮帮我,因为我不知道这段代码有什么问题。提前致谢。

4

1 回答 1

1

你的json参数是一个字符串。您应该使用$.parseJSON(json) 将其转换为对象。

看看这个转换细节。

于 2013-04-18T17:08:46.097 回答