Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.11.2010, 21:01
Новичок на форуме
Отправить личное сообщение для Zinenko Посмотреть профиль Найти все сообщения от Zinenko
 
Регистрация: 10.11.2010
Сообщений: 3

{{each}} делает лишнее =)
Всем привет. Разбираюсь с плагином Templates для JQuery. Допускаю какую-то ошибку в работе с тегом {{each}}...
Вот код.
<body>
<script type="text/javascript">
    var db = { id: 'acc1', data: [{ header: 'header1', content: 'бла бла бла .' },
                                          { header: 'header2', content: 'бла бла бла .' },
                                          { header: 'header3', content: 'бла бла бла .'}]
    };
    $(function(){
        $('#tmpl_accordion').tmpl(db).appendTo('#accordion');
    });
</script>
   <script id="tmpl_accordion" type="text/x-jquery-tmpl">
              <div id='${id}'>
               {{each data}}
                <h3><a href="#">${$index+1}-${header}</a></h3>
                <div>{{html content}}</div>
               {{/each}}
              <div/>
   </script>

<div id="accordion"></div>
</body>

Вот результат.
<div id="accordion">
  <div id="acc1">                                 
    <h3><a href="#">1-header1</a></h3>                 
    <div> бла бла бла .</div>                                 
    <h3><a href="#">2-header2</a></h3>                 
    <div> бла бла бла .</div>                                 
    <h3><a href="#">3-header3</a></h3>                 
    <div> бла бла бла .</div>                               
    <div></div> // <------ вот откуда это здесь ?
  </div>
</div>

Вот откуда там берется этот div ((( ?
Ответить с цитированием
  #2 (permalink)  
Старый 10.11.2010, 21:25
Новичок на форуме
Отправить личное сообщение для Zinenko Посмотреть профиль Найти все сообщения от Zinenko
 
Регистрация: 10.11.2010
Сообщений: 3

а всё. . . вроде разобрался ...
из документации "If data is an array, the template is rendered once for each data item in the array. If data is an object, or if the data parameter is missing or null, a single template item is rendered."
то есть JQ сначало "прыгает" на первый элемент ассоциативного массива, делает то что мне нужно, а потом "прыгает" на следующий элемент массива и пытается рендрить - делает лишнее.
Или не то ?Оо
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2010, 21:50
Новичок на форуме
Отправить личное сообщение для Zinenko Посмотреть профиль Найти все сообщения от Zinenko
 
Регистрация: 10.11.2010
Сообщений: 3

Сообщение от Zinenko Посмотреть сообщение
а всё. . . вроде разобрался ...
из документации "If data is an array, the template is rendered once for each data item in the array. If data is an object, or if the data parameter is missing or null, a single template item is rendered."
то есть JQ сначало "прыгает" на первый элемент ассоциативного массива, делает то что мне нужно, а потом "прыгает" на следующий элемент массива и пытается рендрить - делает лишнее.
Или не то ?Оо
по ходу ошибся ....
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что делает оператор % theYozh Общие вопросы Javascript 14 11.09.2016 08:13
Есть программа прокручивающая фотографии как это делает IPad Каупервудик Элементы интерфейса 9 29.09.2010 14:46
Что делает этот скрипт? Wallkost Оффтопик 4 19.03.2010 13:54
Как Google это делает ? cooli0 Events/DOM/Window 3 18.03.2010 15:54
Обработчик события: как делает jquery? Shasoft jQuery 35 22.04.2009 08:41