Есть несколько альтернативных способов сделать это.Вы можете сделать это полностью с управляемым данными пользовательским интерфейсом - имея какое-либо свойство данных, соответствующее объекту данных (элементу) или индексу массива данных, для которого вы хотите показать подробности.
См. Все эти примеры, которыепоказать выбор объекта в массиве и предоставление сведений:
http://www.jsviews.com/#samples/editable.
Вот еще один пример:
<script id="myTmpl" type="text/x-jsrender">
{^{for list}}
<div data-link="{on ~show #index}">{{:first}}</div>
{{/for}}
</script>
<script id="detailTmpl" type="text/x-jsrender">
{^{for list[detail]}}
<div class="popup">
{{:first}}
{{:last}}
{^{on ~hide}}Hide{{/on}}
</div>
{{/for}}
</script>
<div id="page"></div>
<div id="detail"></div>
с этим кодом:
var myTmpl = $.templates("#myTmpl"),
detailTmpl = $.templates("#detailTmpl"),
data = {
list : [
{first: "Jo",last: "Blow"},
{first: "Bob",last: "Dale"}],
detail: -1
},
helpers = {
show: function(index) {
$.observable(data).setProperty("detail", index)
},
hide: function() {
$.observable(data).setProperty("detail", -1)
}
};
myTmpl.link("#page", data, helpers);
detailTmpl.link("#detail", data, helpers);