jQuery数据的jQuery模板问题

时间:2013-04-18 17:03:57

标签: json jquery jquery-templates

我正在使用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")
    }
}

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

1 个答案:

答案 0 :(得分:1)

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

请查看this了解转化详情。