博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]jquery的一个模板引擎-zt
阅读量:5864 次
发布时间:2019-06-19

本文共 2794 字,大约阅读时间需要 9 分钟。

 jQuery-jTemplate.js下载:  
 
一 , 简单介绍

 

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

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

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

二 , 快速上手

先来看一个简单的例子:

<script type="text/javascript" src="jquery-1.2.6.pack.js"></script>

<script type="text/javascript" src="jquery-jtemplates.js"></script>

<script type="text/javascript">

   $(document).ready(function() {
    //初始化数据
    var data = {
     name: '用户列表',
     list_id: '编号89757',
     table: [
      {id: 1, name: 'Rain', age: 22, mail: },
      {id: 2, name: "皮特', age: 24, mail: },
      {id: 3, name: "卡卡', age: 20, mail: },
      {id: 4, name: "戏戏', age: 26, mail: },
      {id: 5, name: "一揪', age: 25, mail: }
     ]
    };
    // 附上模板
    $("#result1").setTemplateElement("template");
    // 给模板加载数据
    $("#result1").processTemplate(data);
   });
</script>

<!-- 模板内容 -->

<textarea id="template" style="display:none">
   <strong>{$T.name} : {$T.list_id}</strong>
   <table>
        <tr>
      <th>编号</th>
      <th>姓名</th>
                    <th>年龄</th>
      <th>邮箱</th>
    </tr>
    {#foreach $T.table as record}
    <tr>
      <td>{$T.record.id}</td>
      <td>{$T.record.name}</td>
                    <td>{$T.record.age}</td>
      <td>{$T.record.mail}</td>
    </tr>
    {#/for}
   </table>
</textarea>

<!-- 输出元素 -->

<div id="result1" ></div>

上面代码中,先导入了jQuery.js,然后导入jtemplates.js。

接下来新建了一个data数据的json对象。

var data = {

     ......
};

然后在HTMl页面上增加一个 输出元素 和 一个模板元素:

最后在JS给输出元素 附加模板 和 数据。

这样,运行代码后,出现如下图所示界面。

三 , 加载模板

这次把模板放到一个单独的页面中,而不是直接写在页面里。

新建一个template.html,放入以下代码:

<strong>{$T.name} : {$T.list_id}</strong>

<table>
    <tr>
    <th>编号</th>
    <th>姓名</th>
            <th>年龄</th>
    <th>邮箱</th>
</tr>
{#foreach $T.table as record}
<tr>
    <td>{$T.record.id}</td>
    <td>{$T.record.name}</td>
            <td>{$T.record.age}</td>
    <td>{$T.record.mail}</td>
</tr>
{#/for}
</table>

然后新建一个json文件,名称为cs.json,代码如下:

{

name: "用户列表",
list_id: "编号89757",
    table: [
     {id: 1, name: 'Rain', age: 22, mail: },
     {id: 2, name: "皮特', age: 24, mail: },
     {id: 3, name: "卡卡', age: 20, mail: },
     {id: 4, name: "戏戏', age: 26, mail: },
     {id: 5, name: "一揪', age: 25, mail: }
]
}

在jQuery中,可以通过$.ajax()方法来加载 json文件,代码如下:

<script type="text/javascript">
$(function(){
$.ajax({
   type:       "post",
   dataType:   "json",
   url:        "cs.json",
success:    function(data){
                    .....
                }
});
});
</script>

在success回调函数里,首先需要设置模板,然后需要添加数据。如下代码所示:

success:    function(data){

                    // 设置模板

                   $("#result1").setTemplateURL("template.html?date="+(+new Date()), null, {filter_data: true});
                    //   加载数据
                    $("#result1").processTemplate(data);
                }
}

完整代码如下所示:

$(function(){

$.ajax({
   type:       "post",
   dataType:   "json",
   url:        "cs.json",
success:    function(data){
                    $("#result1").setTemplateURL("template.html?date="+(+new Date()), null, {filter_data: true});
                    $("#result1").processTemplate(data);
                }
});
});

运行代码后,也可以得到上图的界面。

 

四 ,小结

关于 new Date().getTime()的简写方式:可以参考这篇文章:

CssRain提供的几个例子,按照官方写的:

jtemplates官方首页 :

官方的几个例子:

1. Simple template (see source as description)
2. Example 1 + multiple elements + parameters
3. Example 1 (Valid XHTML 1.1 !)
4. Multitemplate (Valid XHTML 1.1)

转载地址:http://dbynx.baihongyu.com/

你可能感兴趣的文章
SAP投资食品数字化、大数据公司Vivanda
查看>>
人工智能如何增强数据中心的安全性
查看>>
企业网站要不要写原创文章,您怎么看?
查看>>
程序员必知 —— 编程语言创始人
查看>>
《构建实时机器学习系统》一2.2 怎样衡量监督式机器学习模型
查看>>
存储初创企业Versity公司提供S3对象存储接口
查看>>
确保物联网互联互通 三类协议各尽其责
查看>>
《工业控制网络安全技术与实践》一3.3.2 过程控制与监控网络脆弱性分析
查看>>
《白话深度学习与TensorFlow》——3.4 如何选择好的框架
查看>>
如何手动删除Windows资源管理器地址栏的历史记录
查看>>
洞察先机 创新体验 -联想企业级及移动互联解决方案全国巡展火热进行中
查看>>
启迪国信:移动警务解决方案推动警务无人机安全管控
查看>>
中国人工智能学会通讯——意识科学研究进展 1.3 意识的量子不确定性分析
查看>>
管理员权限的凭证安全漏洞
查看>>
WiFi黑科技? 麻省理工用WiFi穿墙认人
查看>>
虚拟主机管理公司cPanel被黑 用户数据泄露
查看>>
灾难|有多少创业公司正依据虚荣数据分析
查看>>
苹果公司K.O.美国司法部,不提供后门
查看>>
集群调度框架的架构演进之路
查看>>
网络安全 | 教你三招,远离WannaCry
查看>>