2012-03-11 2 views
3

월 드롭 다운과 월 드롭 다운이있는 jQuery 템플릿을 빌드해야합니다. {@ each} 구문으로 옵션을 만들 수 있도록 1에서 31까지의 값을 가진 JSON 모델 항목 각각에 월 목록과 일 목록을 포함시켜야하는 것은 과도한 것처럼 보입니다. 난 당신의 내부에 동적 배열을 추가 할 수있는 방법을 살펴 보았다jquery 템플릿에 for 루프가있을 수 있습니까?

{{각}} 다른 대답 : 나는 아마 1 31 그러나 심지어 값으로 그 내부에 배열을 정의 할 수 있습니다 Can I declare local/temp variables within a jQuery template?

조금 장황하다. jquery 템플릿에서 for 루프를 수행하는 더 좋은 방법이 있습니까?

날짜 특정 사례에 대해 반복 할 날짜 개체를 찾을 수는 있지만, 날짜 관련없는 루프 사용 사례는 어떻게됩니까?

외부 전역 변수를 사용하지 않고 템플릿 본문에 루프를 완전히 정의하고 싶습니다. 전역 변수를 사용하면 {{each}}를 쉽게 사용할 수 있습니다.

답변

13

jquery 템플릿에 다른 태그를 추가하는 방법을 찾았습니다. 다음은 for 태그 정의입니다. 로엘 Kramers이하여 텍스트 영역 태그에 대한 샘플

(function ($) { 
$.extend(jQuery.tmpl.tag, { 
    "for": { 
     _default: {$2: "var i=1;i<=1;i++"}, 
     open: 'for ($2){', 
     close: '};' 
    } 
}); 
})(jQuery); 

감사합니다 : 당신의 스크립트 JQuery와에 대한 참조 및 jquery.tmpl.js 후이 추가 http://blog.sterkwebwerk.nl/2010/12/15/custom-jquery-template-tags-1/

또한 정의에 대한 jquery.tmpl 소스를보기 각 태그가 많이 도움이되었습니다.

기본값은 1 회 반복의 for 루프입니다. 그 바이올린이 더 이상 작동하지 않는 것, http://jsfiddle.net/mjlang/qvzdV/

+0

A가 이끌고 : 여기

<script id="TestTemplate" type="text/x-jQuery-tmpl"> Day:<br/> <select name="DayOfMonth"> {{for(i=1;i<=31;i++)}} <option value="${i}">${i}</option> {{/for }} </select> </script>​ 

을 행동에 그것을 볼 수있는 jsFiddle 페이지는 : 여기 당신이 그것을 사용하는 템플릿 몸을 정의하는 방법이다. –

+0

jQuery 템플릿이 더 이상 사용되지 않기 때문에 바이올린이 작동하지 않을 수 있습니다. 이 대답은이 시점에서 역사적인 목적으로 사용되었습니다. jsRender와 같은 다른 템플릿 엔진을 사용하십시오. –