2013-04-18 3 views
0

다음 코드가 있습니다. 어디에서 Jquery 템플릿을 사용하고 있지만 받아들이지 않습니다 - 클래스 - 아니요 (대시). Uncaught ReferenceError: no is not defined 오류가 발생합니다. jquery 템플릿으로이 문제에 대한 해결책이 있습니까?Jquery 템플릿에서 대시 (-)를 허용하지 않습니다.

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

$.template('kList','<tr title="${class-no}"><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

대부분 따옴표로 묶어야합니다. 현재 그것은'class'에서'no'를 뺄려고 시도합니다 –

+0

이 문제를 해결할 수 있습니까? console.log를 잘못 사용하면 작동 할 것입니다. (json [0] [ "class-no"]); 하지만 템플렛에서 그것을 가능하게 만들려면 – Sau

+0

@NickTomlin, 제목뿐만 아니라 오류에 대한 전체 질문을 확인하십시오. – FakeRainBrigand

답변

0

그냥 템플릿 호출하는 동안 옵션 매개 변수에 사용자 정의 함수를 공급하고 템플릿에서 함수를 사용하여 여기 classNo

사용자 정의 함수이며 문자열 표기법으로 객체 속성에 액세스 할 수 있습니다.

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

for(var i=0; i<json.length; i++){ 
    $.tmpl('kList',json[i], { 
     classNo : function(){ 
      return this.data["class-no"]; 
     } 
    }).appendTo("#table1"); 
} 

희망이 도움이됩니다.