2012-11-23 1 views
0

여러 페이지로 된 jQuery 모바일 페이지가 있습니다.jquery mobile multipage with javascript template, 항상 "새로 고침"하지 않습니다.

1 페이지에서 2 페이지로 갈 때 나는 템플릿을 사용하여 동적으로 핸들을 사용하여 만듭니다.

템플릿 :

<script id="history-template" type="text/x-handlebars-template"> 
     <div data-role="collapsible" id="share_history" > 
     <h3>{{share_title}}</h3> 
     {{#each historyItem}} 
      <h2>Shared with {{shared_with}}</h2> 
      {{#list people}}{{firstName}} {{lastName}}, {{role}}{{/list}} 
     {{/each}} 
    </div> 
</script> 

자바 스크립트 : 작동

var context = { 
    share_title: "View Share History", 
    historyItem: [ 
      { 
       shared_with: "with a group", 
       people: [ 
        {firstName: "Bob", lastName: "Wong", role: "Dad" }, 
        {firstName: "Tina", lastName: "Turner", role: "Guardian" }, 
        {firstName: "Modest", lastName: "Mouse", role: "Dad" } 
       ] 
      }, 
      { 
       shared_with: "with 3 people", 
       people: [ 
        {firstName: "Baily", lastName: "Wong", role: "Dad" }, 
        {firstName: "Gina", lastName: "Turner", role: "Guardian" }, 
        {firstName: "Modest", lastName: "Mouse", role: "Dad" } 
       ] 
      } 
     ] 

}; 

var source = $("#history-template").html(); 
var template = Handlebars.compile(source); 

Handlebars.registerHelper('list', function(people, options) { 
var out = "<ul class=>"; 

for(var i=0, l=people.length; i<l; i++) { 
out = out + "<li>" + options.fn(people[i]) + "</li>"; 
} 

return out + "</ul>"; 
}); 

    var html = template(context); 

    $('#share').html(html); 
$.mobile.changePage('#add-edit'); 

나는 (내 다중 레이아웃) 페이지 2 페이지 1에서 이동 (좋은).

그러나 내가 뒤로 버튼을 클릭하면, 및 다음 2 페이지로 돌아가, (나는 내 ​​콘텐츠를 볼 ... 뺀 추가 마크 업의 jQuery 모바일은 추가 I 콘텐츠를 볼 수 즉하지만 내 jQuery를 모바일 외관/테마).

$('#share').html(html).trigger("create"); 
+0

당신에게 내 예를 들어 편집

, 나는 다음을 수행했다 [트리거] (http://jquerymobile.com/demos/1.2.0/docs/pages/page-scripting.html) 페이지에서'create'를 호출하여 JQM에게 위젯을 초기화하도록 지시하십시오. – Jack

답변

3

당신은이 HTML 요소에 이벤트를 만들 트리거해야합니다, 예를 들어

el.trigger('create'); 
+0

WOW가 빠르며 작동했습니다. 감사합니다! – redconservatory

+1

@redconservatory 지난 주에 같은 문제를 겪었습니다 :) – Dve