Я действительно новичок в jsRender, но так как я нашел его полезным для заполнения моего раскрывающегося списка (всего несколькими парами) Я хотел спросить вас если можно использовать jsRender для создания элементов управления без отображения каких-либо данных на этих элементах управления (по крайней мере, не сейчас)jsRender - Как установить идентификатор элементов управления внутри шаблона
Это упрощенная версия о том, что я делаю сейчас конкатенации несколько строк HTML кода
Код HTML:
<table>
<tr>
<td>
<fieldset id="fldRetorno">
<legend>Return Details</legend>
<input id="addRow" type="button" value="+ Add" />
<table id="tbRetornosModelos" class="tabla-retorno">
<tbody></tbody>
</table>
</fieldset>
</td>
</tr>
</table>
</table>
JS код:
var counter = 0; // Counter for number of rows
$("#addRow").on('click', function() {
counter = counter + 1;
var newName = "Name" + counter;
var newType = "Type" + counter;
var newEnlaceEstruct = "tbExp_s1_e" + counter;
var newRow = '<tr><td>Return # ' + counter + ': </td>' +
'<td>' + ' Name</td>' +
'<td><input type="text" id="' + newName + '" />' + '</td>' +
'<td>Data Type</td>' +
'<td><select name="select" id="' + newType + '"> <option value="Seleccione" selected>Select...</option> <option value="Number" >Number</option><option value="Text">Text</option></select></td>' +
'<td><input type="button" value="-Remove" class="deleteFila"></td>' +
'<td><input type="hidden" id="enlace' + counter + '" value="' + newEnlaceEstruct + '" /></td>' +
'</tr>';
$('table.tabla-retorno >tbody').append(newRow);
$(".deleteFila").on("click", function (event) {
$(this).closest("tr").remove();
});
});
jsfiddle для версии упрощенаhttp://jsfiddle.net/edaloicaro18/YURDR/2/
Та часть, которая объединяет все столбцы в строку, чтобы затем присвоить его в таблице append(newRow)
является одним Я хочу избавиться. Я подумал об использовании шаблона, объявленного в теге <script>
, поместив все идентификаторы в массив json и передав его методу render
, так же, как и в раскрывающихся списках, и я почти уверен, что он это сделает.
Но что мне делать, когда мне нужно редактировать (не вставлять, как то, что я делаю сейчас)? Тогда мне придется не только генерировать идентификаторы для элементов управления, но и отображать данные в этих элементах управления. Что мне тогда делать? Может ли jsRender принимать более одного источника данных в методе визуализации ???
Что бы вы сделали в этом случае? Может быть, я просто сделать гору из кротовой норы
Спасибо за любую помощь, Axel
P.S. Вот версия complete того, что мне нужно сделать, чтобы дать лучшую идею. http://jsfiddle.net/edaloicaro18/4yQML/25/embedded/result/ Я думаю, что если я нахожу, как обращаться с упрощенной версией, у меня не будет проблем с сложным.