#jsrender
#jsrender
Вопрос:
недавно я начал использовать jsrender, моему клиенту нужна таблица с 5 строками, если в ней всего 3 элемента данных, таблица будет заполнена 3 строками, а остальные 2 останутся пустыми.
когда я использую jsrender, я использовал шаблон, подобный следующему,
<script id="TmpOperation" type="text/x-jsrender">
<tr>
<td>{{:name}}</td>
</tr>
</script>
Моя проблема в том, что он не будет генерировать 5 строк, если элемент данных меньше 5, как я могу генерировать пустые строки таблицы?
=====обновить
для моих данных:
data=[
{name:'aaa'},
{name:'bbb'},
{name:'ccc'}
]
код для рендеринга:
var template = $.templates("#TmpOperation");
var html = template.render(data);
$("#tbody_report").html(html);
html — код:
<table >
<tbody id="tbody_report">
</tbody>
</table>
Теперь, когда в нем всего 3 элемента, будет таблица с 3 строками, но мне нужно 5 строк (3 строки заполнены, а остальные 2 пустые), спасибо.
Комментарии:
1. Мы должны были бы увидеть код, который генерирует элементы данных, чтобы иметь возможность прокомментировать это.
Ответ №1:
Самым простым способом было бы добавить несколько пустых объектов в конец вашего data
массива либо на стороне сервера, либо на стороне клиента. Вот некоторый JavaScript, который будет работать после того, как вы извлекли свой data
и передали его в свой шаблон.
for (var i = 5 - data.length; i > 0; i--) {
data.push({name: ''});
}
Комментарии:
1. Возможно, потребуется что- то добавить туда, возможно
amp;nbsp;
, oramp;#8203;
(пробел нулевой ширины), чтобы сохранить согласованность ячеек таблицы.