Я хотел попробовать jQuery Templates после того, как меня вдохновили эти 2 сообщения в блоге
Ну, это не совсем работает для меня. Если у меня есть код шаблона на самой странице, он работает нормально, но удаленная загрузка не работает для меня. Похоже, что шаблон извлекается нормально. что здесь не так?
Внешний шаблон:
<script id="contactsTemplate" type="text/x-jquery-tmpl">
<table class="contacts">
<thead><tr><td class="ui-helper-hidden">Id</td><td>Name</td><td>City</td><td>State</td></tr></thead>
<tbody>
{{each contact}}
{{tmpl($value) '#contactTemplate'}}
{{/each}}
</tbody>
</table>
</script>
<script id="contactTemplate" type="text/x-jquery-tmpl">
<tr><td class="ui-helper-hidden">${id}</td><td>${name}</td><td>${city}</td><td>${state}</td></tr>
</script>
На моей странице я использую этот код для извлечения и загрузки шаблона:
var contacts = {
contact: [
{ id: 1, name: "John Green", city: "Orange Beach", state: "AL" },
{ id: 2, name: "Sam Thompson", city: "Pensacola", state: "FL" },
{ id: 3, name: "Mary Stein", city: "Mobile", state: "AL" }
]
};
$("#ShowDataRemote").button().click(function() {
$.get('templates/Contact.htm', function(template) {
alert(template);
$.tmpl(template, contacts).appendTo("body");
alert("async done");
});
});
<ч />
Обновление:
Новое сообщение в блоге на Encosia объясняет этот вопрос и ответ ...
http://encosia.com/2010/12/02/jquery-templates-composite-rendering-and-remote-loading/