我正在使用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,但我希望有人知道解决方案。
谢谢您抽时间见我。致以亲切的问候,马克
发布于 2010-09-29 23:46:44
这是一种盲目的尝试,因为我既不知道jtemplate插件的细节,也不知道你的模板是什么样子的。
试试这个:
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();
}https://stackoverflow.com/questions/3822416
复制相似问题