我正在使用jtemplates(jquery插件)作为我的模板解决方案,顺便说一句!我用这个和我的上帝替换了我的asp.net更新面板是什么速度助推器。然而,我遇到的问题是我正在使用此模板系统在文章下加载用户评论。我正在处理这样的模板:
function ApplyTemplate(result) {
if (result.d.length == 0) {
$('#comments_empty').show();
}
else {
var msg = (typeof result.d) == 'string' ? eval('(' + result.d + ')') : result.d;
$('#comments_container').setTemplate($("#comments_template").html());
$('#comments_container').processTemplate(msg);
$('#comments_empty').hide();
}
$('#loading').hide();
}
这很好但我现在想要的却是无法实现的。我想追加新项目(因为有一个名为'显示更多评论'的按钮给了旧项目。所以我想我可以使用:
var html = $('#comments_container').processTemplate(msg).toString();
然后将html添加到该容器或另一个容器,但这不起作用。对不起,我不是一个jquery / javascript人,但我希望有人知道解决方案。
感谢您的时间。 亲切的问候, 标记
答案 0 :(得分:2)
这是一个黑暗中的镜头,因为我既不知道jtemplates插件的细节也不知道你的模板是什么样的。
试试这个:
function ApplyTemplate(result) {
if (result.d.length == 0) {
$('#comments_empty').show();
} else {
var
$commentsContainer = $('#comments_container'),
msg = ((typeof result.d) == 'string' ? eval('(' + result.d + ')') : result.d),
old = $commentsContainer.html();
$commentsContainer.setTemplate($("#comments_template").html());
$commentsContainer.processTemplate(msg);
$commentsContainer.prepend(old);
$('#comments_empty').hide();
}
$('#loading').hide();
}