jsViews example
HTML
<script src="http://www.jsviews.com/download/jsviews.js"></script>
<div id="shit">
<table>
<thead>
<tr>
<th>shit1</th>
<th>shit2</th>
<th>сумма</th>
</tr>
</thead>
<tbody data-link="{for report tmpl='#rowTemplate'}"></tbody>
</table>
<button class="addShit">добавить строку</button>
</div>
<script id="rowTemplate" type="text/x-jsrender">
<tr>
<td>
<input type="text" data-link="{intToStr:shit1:strToInt}">
</td>
<td>
<input type="text" data-link="{intToStr:shit2:strToInt}">
</td>
<td data-link="shit1+shit2"></td>
<td>
<button class="deleteShit">X</button>
</td>
</tr>
</script>
JavaScript
var app = app = {
report: [{shit1: 1, shit2: 2}, {shit1: 3, shit2: 4}]
};
$.views.converters({
intToStr: function(prop) {
return ''+ prop;
},
strToInt: function(prop) {
return parseInt(prop) || 0;
}
});
$.link(true, '#shit', app)
.on('click', '.addShit', function() {
$.observable(app.report).insert({shit1:0, shit2:0});
})
.on('click', '.deleteShit', function() {
$.observable(app.report).remove($.view(this).getIndex());
});