2013-04-18 2 views
0

JSON 데이터를 사용하여 테이블을 만드는 jQuery 템플릿을 사용하고 있습니다. 이 코드는 정상적으로 작동합니다. 하지만이 코드를 중심으로 함수를 만들고 AJAX 요청에서 JSON 데이터를 전달하려고하면 콘솔에는 값이 표시되지만 테이블에는 값이 표시되지 않습니다. 더미 데이터 코드를 작업이다 : 여기 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") 
} 

난 함수 상부 코드 워핑 내가 console.log(json) 아니지만 그것을 인쇄 할 때 콘솔의 값을 나타내는 파라미터로서 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

[Object, Object]로 콘솔에 응답을 주었고 이미 $ .parseJSON (json)을 사용 했으므로 json 매개 변수는 $ .parseJSON (json)을 사용한 후에 출력됩니다. 다른 제안 사항이 있습니까? 아니면이 코드에서 다른 점을 찾으셨습니까? – Sau

+0

@Sau :'json [0] .class'에 값과 피드백이 있는지 확인하십시오. –

+0

나는 console.log를 시도했다. (json [0] .class); 그리고 콘솔에서 그것은 나에게 정의되지 않았지만 console.log (json [0]) 할 때; 모든 값을 표시합니다. 이 코드가 작동하도록 할 수 있습니까? 정말 감사 할 것입니다. – Sau