Добавить LI к тексту / x-jquery-tmpl - PullRequest
1 голос
/ 20 января 2012

Мои шаблоны:

        <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");

Когда я делаю следующее,мой шаблон навигации обновляется только в определенных разделах.У меня всего четыре раздела.Это обновит два из четырех шаблонов, и мой домашний шаблон по какой-то причине не затронут.Кто-нибудь знает, почему это будет работать для одного раздела, но не для других?Спасибо!

1 Ответ

0 голосов
/ 25 января 2012

Оказалось, я пытался вставить html-данные в свой шаблон.Этот HTML интерпретировался как текст.Я закончил тем, что создал новый шаблон для LI, а затем добавил tmpl к UL.Создал шаблон:

  <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");
});
...