基于jquery框架的jTemplates模板引擎的使用

来源:互联网 发布:知乎 周广甫 编辑:程序博客网 时间:2024/05/29 14:29
首先简单介绍下jTemplates:

它是一个基于jQuery开发的javascript模板引擎。它主要的作用如下:

1. 通过JS获取JSON形式的数据;

2. 获取一个HTML模板,与数据相结合,生成页面HTML。

  使用方法很简单,首先要引用 jquery 还有 jTemplates。然后就可以很happy的从后台调数据了。具体示例源码(带注释)如下。为了节约空间,代码非常不完整。只不过是描述思想罢了。

Js代码 复制代码 收藏代码
  1. <script language="JavaScript" type="text/javascript" src="/admin/js/jquery-1.4.4.min.js"></script> 
  2.  
  3. <script language="JavaScript" type="text/javascript" src="/admin/js/jquery-jtemplates.js"></script> 
  4.  
  5.   
  6.  
  7. (function($) 
  8.  
  9. var showallactivity = function() 
  10.         { 
  11.                 $.ajax( 
  12.                 { 
  13.                         url: "这里是要访问的文件路径"
  14.                         cache: false
  15.                         dataType: "jsonp"
  16.                         data: { "m": "game_activity", "a":"AskActivityList"}, 
  17.                         success:function(backjsondata){ 
  18.                                 if(backjsondata['result'] == 1) 
  19.                                 {       
  20.                                         var data = backjsondata['data']; 
  21.  
  22.                                         //这里是关键 将数据用ID为showallactivity-templates   模板处理后扔到ID是datas的域里 
  23.                                         $("#datas").setTemplateElement("showallactivity-templates").processTemplate(data); 
  24.                                 } 
  25.                                 else 
  26.                                 { 
  27.                                         alert('没有数据!'); 
  28.                                 } 
  29.                         }   
  30.                 }); 
  31.         } 
  32.  
  33. })(jQuery); 
  34.  
  35.   
  36.  
  37. <!-- 这里是 jTemplates 嵌入模版的方法 --> 
  38.   <p style="display:none"><textarea id="showallactivity-templates" rows="0" cols="0"
  39.     <!-- 
  40.     {#foreach $T as record} 
  41.     <tr> 
  42.       <td>{$T.record['m_uActId']}</td>      
  43.       <td>{$T.record['m_uTmplId']}</td> 
  44.       <td>{$T.record['m_tStarth']}</td> 
  45.       <td>{$T.record['m_tEndh']}</td> 
  46.       <td><a href='javascript: void(0)' onclick='delactivity({$T.record['m_uActId']})'>删除活动</a></td> 
  47.     </tr> 
  48.     {#/for
  49.     --> 
  50.     </textarea> 
  51.   </p> 
  52.  
  53.   
  54.  
  55. <table class="datalist fixwidth" id="datalist2"
  56.         <thead> 
  57.           <tr>    
  58.             <th> 活动ID </th> 
  59.             <th> 模板ID</th> 
  60.             <th> 开始时间 </th> 
  61.             <th> 结束时间 </th> 
  62.           </tr> 
  63.         </thead> 
  64.         <tbody id='datas'
  65.             <!--最后从服务器取到的数据就是扔在这里了-->    
  66.         </tbody> 
  67.       </table> 
  68.  
  69.   
<script language="JavaScript" type="text/javascript" src="/admin/js/jquery-1.4.4.min.js"></script><script language="JavaScript" type="text/javascript" src="/admin/js/jquery-jtemplates.js"></script> (function($){ var showallactivity = function()        {                $.ajax(                {                        url: "这里是要访问的文件路径",                        cache: false,                        dataType: "jsonp",                        data: { "m": "game_activity", "a": "AskActivityList"},                        success:function(backjsondata){                                if(backjsondata['result'] == 1)                                {                                              var data = backjsondata['data'];                                        //这里是关键 将数据用ID为showallactivity-templates   模板处理后扔到ID是datas的域里                                        $("#datas").setTemplateElement("showallactivity-templates").processTemplate(data);                                }                                else                                {                                        alert('没有数据!');                                }                        }                  });        }})(jQuery); <!-- 这里是 jTemplates 嵌入模版的方法 -->  <p style="display:none"><textarea id="showallactivity-templates" rows="0" cols="0">    <!--    {#foreach $T as record}    <tr>      <td>{$T.record['m_uActId']}</td>           <td>{$T.record['m_uTmplId']}</td>      <td>{$T.record['m_tStarth']}</td>      <td>{$T.record['m_tEndh']}</td>      <td><a href='javascript: void(0)' onclick='delactivity({$T.record['m_uActId']})'>删除活动</a></td>    </tr>    {#/for}    -->    </textarea>  </p> <table class="datalist fixwidth" id="datalist2">        <thead>          <tr>               <th> 活动ID </th>            <th> 模板ID</th>            <th> 开始时间 </th>            <th> 结束时间 </th>          </tr>        </thead>        <tbody id='datas'>            <!--最后从服务器取到的数据就是扔在这里了-->           </tbody>      </table> 

基本的使用方法就是这样了。

本人小菜鸟一枚,如果有什么问题,欢迎大家拍砖。谢谢。

原创粉丝点击