Шаблоны JQuery с данными столбцов - теги закрываются автоматически - PullRequest
0 голосов
/ 16 декабря 2011

Мне нужно отобразить элементы данных в столбцах, но я не могу использовать таблицу (столбцы не имеют одинаковое количество элементов).

Я начал со следующего шаблона jQuery:

<div id="my-jq-tpl" style="display:none;">
     {{if is_first}}
      colstart  <div style="width: 42px;float:left;">
     {{/if}}   
        <div style="width: 40px;">
           ${cell_item}
        </div>
    {{if is_last}}
        </div> colend
     {{/if}}  
</div>

Проблема в том, что он всегда закрывает первый div в конце визуализированного HTML, а не только когда is_last = true.

Теперь отображается следующее:

colstart
<div style="width: 42px;float:left;">
    <div> 1A </div>
</div>
<div> 1B </div>
colend
colstart
<div style="width: 42px;float:left;">
    <div> 2A </div>
</div>
<div> 2B </div>
colend

Но я ожидал, что это сгенерирует следующее:

colstart
<div style="width: 42px;float:left;">
    <div> 1A </div>
    <div> 1B </div>
</div>
colend
colstart
<div style="width: 42px;float:left;">
    <div> 2A </div>
    <div> 2B </div>
</div>  
colend

Из выходных данных видно, что «colstart» и «colend» были размещены правильно, поэтому данные, передаваемые в шаблон, в порядке и логика верна. Но проблема в том, что внешний div закрывается сразу после первого элемента в столбце, а не после последнего. Я думаю, jQuery закрывает внешний DIV, потому что он не видит, будет ли он закрыт позже, чтобы не оставлять его открытым и, таким образом, создавать недопустимый HTML.

Можно ли как-то исправить это и получить необходимое поведение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...