2012-01-19 52 views
1

我的模板:附加的LI文本/ X-jQuery的TMPL

 <script id="tmp_servicebuttons" class="template" type="text/x-jquery-tmpl"> 
      <li><a class="notification" href="${id}"><img src="${imgsrc}"/></a></li> 
     </script> 
    <script id="tmp_navigation" class="template" type="text/x-jquery-tmpl"> 
     <header> 
      <nav> 
       <ul class="top_bar_notifications"> 
        <li> 
         <a href="#home" class="go home"> 
          <img src="./resources/img/homebtn.png" alt="Home"> 
         </a> 
        </li> 

        <li> 
         <a href="#" class="back"> 
          <img src="./resources/img/backbtn.png" alt="Home"> 
         </a> 
        </li> 
       </ul> 
      </nav> 
... 

我的主頁:

<!-- First Page after splash with main buttons --> 
    <script id="tmp_home" class="template" type="text/x-jquery-tmpl"> 
     <section id="${$item.panel_id}" class="home category panel"> 

      {{tmpl "#tmp_navigation"}} 
... 

如何,我想追加:

var data = [{"id": "1", "imgsrc": "./resources/img/servicebtn.png"}]; 
$("#tmp_servicebuttons").tmpl(data).appendTo(".top_bar_notifications"); 

當我做了以下,我的導航模板似乎只在某些部分更新。我共有四個部分。它會更新四個模板中的兩個,我的家庭模板出於某種原因不受影響。任何人都知道爲什麼這會適用於一個部分,而不是其他部分?謝謝!

+0

也許我失去了一些東西,但我很好奇,想知道你爲什麼會需要動態地改變你的模板結構。理想情況下,你的模板應該首先處理該邏輯。無論您需要添加到模板的條件是模板本身。 –

+0

我正在對我的管理控制檯進行jsonp調用,它會返回我想要更新我的jquery tmpl的數據。我可能會接近這一切都是錯誤的,所以如果你知道一個好方法,我可以在上面我想學習的模板中添加幾個LI。我對jQuery tmpl瞭解不多。謝謝! – Fostah

+0

我看到你正在嘗試做什麼。你可以給我一個例子,說明在你打電話時json是什麼樣子的,只是一個你想要根據json做出什麼樣的改變的簡單例子。我相信我們可以想出一種方法來保持模板靜態,並在模板中添加邏輯,而不是更改結構 –

回答

0

原來我試圖插入html數據到我的模板。該HTML被解釋爲文本。我最終爲LI創建了一個新模板,然後將ULT附加到TMPL。 創建了一個模板:

<script id="tmp_servicebuttons" class="template" type="text/x-jquery-tmpl"> 
     <li><a class="notification" href="${id}"><img src="${imgsrc}"/></a></li> 
    </script> 

然後附加了填充數據的UL

var data = JSON.parse(buttons); 
$(data).each(function(){ 
    var data = [{"id": this.id, "imgsrc": this.imgsrc}]; 
    $("#tmp_servicebuttons").tmpl(data).appendTo(".top_bar_notifications"); 
});