2012-07-23 229 views
0

我试图填充一个jQuery模板并将结果附加到div中,但我收到错误。我只是不明白我的代码中的缺陷。任何人都可以纠正它吗?我正在使用jQuery版本1.4(jquery-1.4.1.min.js)。jQuery模板呈现

这里是我的全码:


<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<style type="text/css"> 
.no_results 
{ 
    width:547px; 
    height:50px; 
    overflow: hidden; 
    text-align: center; 
    margin-top: 25px; 
    -moz-box-shadow: 3px 3px 4px #000; 
    -webkit-box-shadow: 3px 3px 4px #000; 
    box-shadow: 3px 3px 4px #000; 
    display:table-cell; 
    vertical-align:middle; 
    background:none repeat scroll 0 0 #FFFFE0; 
    border:1px solid #FFC978; 
} 
</style> 

<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
var srchterm = 'Hello Sam'; 
var markup = "<ul><li><div class='no_results'><span>No results found for [${Name}] </span></div></li></ul>"; 

$("#showBtn").click(function() { 
$("#SearchData").empty(); 
$.tmpl("movieTemplate", srchterm).appendTo("#SearchData"); 
}); 
}); 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<asp:Button ID="showBtn" runat="server" Text="Change" /><br /><br /> 
<div id="SearchData"></div> 
</form> 
</body> 
</html> 
+0

我没有使用任何模板的js文件就像jquery.tmpl.js – Thomas 2012-07-23 10:23:25

+0

是你得到任何控制台错误?你是否缩小了问题的原因?你能为我们创建一个jsfiddle的例子吗? – Undefined 2012-07-23 10:25:17

回答

1

这是你想达到什么目的: http://jsfiddle.net/2efSV/

我从

$.tmpl("movieTemplate", srchterm).appendTo("#SearchData"); 
改变了你调用$ .tmpl

$.tmpl(markup, { "Name" : srchterm }).appendTo("#SearchData"); 

的第一个参数应该是你的模板,第二个应该是包含您所使用的模板中的数据对象:

+0

谢谢,但是当我添加模板到SearchData div与淡入淡出效果,然后没有任何作品。我写了如$ .tmpl(markup,{“Name”:srchterm})的代码。appendTo(“#SearchData”)。fadeIn('slow');你能告诉我如何在这里实现fadein()效果。 – Thomas 2012-07-23 10:55:14

+0

您必须先隐藏()您要追加的内容才能实现该目标 - 在此处[JSFiddle](http://jsfiddle.net/2efSV/1/) – soupy1976 2012-07-23 10:58:39