热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Jquery模板插件jquery.tmpl.js的使用方法(1):基本语法,绑定,each循环,ajax获取json数据...

jquery.tmpl.js是一个模板js,主要有2个方法(1):$.template()方法,将一段script或者是Html编译为模板,例如$.template(

jquery.tmpl.js 是一个模板js  ,主要有2个方法

(1):$.template()方法,将一段script或者是Html编译为模板,例如 $.template('myTemplate', markup);  后者的markup一般是一段script脚本包围的变量名,或者是js里面的变量名,而前者的myTemplate则是指,我将markup编译为一个模板缓存,模板名称为myTemplate,如果我以后有需要在其他地方调用,则只用拿 myTemplate 即可,因为他已经在js的缓存里面了

(2):$('#myTemplate ).tmpl(userLangs).appendTo('#eachList');

        //模板               绑定      Json数据 添加到 指定的div或者是容器里面

 

一:基本使用方法演示  分4个步骤:(1)引入jquery和tmpl脚本 (2)开始写需要填充的模板和变量 (3)数据准备(4) 绑定模板

然后我们在html页面里面,给一个容器,用于显示数据绑定之后添加到什么容器上,可以是div也可以是其他的,例如这里是ul

 

1: <ul id&#61;"eachList">

2:

3: ul>

4:

 

显示结果

image

生成的html代码

image

 

二&#xff1a;高级一点的运用 

Ajax获取Json数据&#xff0c;并绑定,并且我们的模板&#xff0c;第一个 采用 script 包围的方式&#xff0c;第二个则直接采用 js变量

$(function () {$.ajax({type: "post",url: "handler/xxHandler.ashx",data: { classid: "12000001989", type: "getclassinfo" },dataType: "json",success: populate //如果ajax成功&#xff0c;则执行这个操作});function populate(data) {// 把模板标记&#xff0c;编译成[模板缓存]&#xff0c;起个名字叫 eachTemplate,方便我们以后在其他地方调用$.template("eachTemplate", each);//把缓存 加入 数据&#xff0c;然后添加到容器里面$.tmpl("eachTemplate", data).appendTo("#eachList");// 同一个数据&#xff0c;也能第二次利用$.template("hwTemplate", HomeWorkSendTemplate);//把缓存 加入 数据&#xff0c;然后添加到容器里面$.tmpl("hwTemplate", data).appendTo("#hwList");};});

后台 handler 获取参数&#xff0c;并且返回 序列化的 json 给前台脚本

image

模板方式一&#xff1a;使用script脚本包围的方式&#xff0c;注意&#xff0c;一定要加上一个 type&#61;"text/x-jquery-tmpl"

 

模板方式二&#xff0c;采用外部链接 js 脚本的方式&#xff0c;这种方式 不用自己在后面写 type&#61;"text/x-jquery-tmpl"

/* 模板二 直接在 其他的例如 mytemplate.js 里面写变量 即可 注意&#xff0c;要在自己的页面里面进行脚本引入 */
var HomeWorkSendTemplate &#61; &#39;

hwsendmain_${ClassId}" class&#61;"content_body">&#39;;
HomeWorkSendTemplate &#43;&#61; &#39;
tag15">&#39;;
HomeWorkSendTemplate &#43;&#61; &#39;
class&#61;"content">&#39;;
HomeWorkSendTemplate &#43;&#61; &#39;
class&#61;"top">布置作业
&#39;;


三&#xff1a;使用复杂的json格式展示数据

(1):准备好模板&#xff0c;这里我们是使用一个表格来展示&#xff0c;所以模板是用的tr来显示每一行的数据

(2):准备数据&#xff0c;以及当文档加载完毕之后&#xff0c;执行绑定

//这里一定要加上&#xff0c;是在文档载入完成之后&#xff0c;才执行绑定模板的$(function () {var demodata &#61; [{"Cid": "1","Cname": "三年二班","Check": "0 0表示1个都没有勾选 1表示至少勾选了1个 2表示全部勾选","Cphoto": "班级图片地址","Students": [{"Sid": "s1","Sname": "周杰伦","Sphoto": "", //这里可能没有图片&#xff0c;那么我们显示的时候&#xff0c;还要判断是否显示默认图片"Check": "0表示没有勾选 1表示已经勾选"},{"Sid": "s2","Sname": "李宇春","Sphoto": "http://pic.cnitblog.com/face/582230/20131114141342.png","Check": "0表示没有勾选 1表示已经勾选"}]}, {"Cid": "1","Cname": "三年四","Check": "0 0表示1个都没有勾选 1表示至少勾选了1个 2表示全部勾选","Cphoto": "班级图片地址","Students": [{"Sid": "s3","Sname": "周笔畅","Sphoto": "http://pic.cnitblog.com/face/572602/20131112163110.png","Check": "0表示没有勾选 1表示已经勾选"},{"Sid": "s4","Sname": "董瑞","Sphoto": "http://pic.cnitblog.com/face/u119077.jpg","Check": "0表示没有勾选 1表示已经勾选"}]}];//编译模板classMuban为一个变量名-> nameClassMuban 这样以后在其他地方&#xff0c;就可以方便调用 nameClassMuban了$.template("nameClassMuban", window.classMuban);//把模板缓存 加入 数据&#xff0c;然后添加到容器里面$.tmpl("nameClassMuban", demodata).appendTo("#showMyJson"); });

(3):容器&#xff0c;这里为了显示方便&#xff0c;我们就用一个表格&#xff0c;并且第一行&#xff0c;我们自己已经给了。如果是实际项目中&#xff0c;一般都是DIV做容器

showMyJson" border&#61;"1">
 班级Id 班级名称 班级学生

最后我们来看看效果如何image
代码生成如下image



推荐阅读
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • 本文介绍了一种图片处理应用,通过固定容器来实现缩略图的功能。该方法可以实现等比例缩略、扩容填充和裁剪等操作。详细的实现步骤和代码示例在正文中给出。 ... [详细]
  • 本文介绍了如何使用n3-charts绘制以日期为x轴的数据,并提供了相应的代码示例。通过设置x轴的类型为日期,可以实现对日期数据的正确显示和处理。同时,还介绍了如何设置y轴的类型和其他相关参数。通过本文的学习,读者可以掌握使用n3-charts绘制日期数据的方法。 ... [详细]
  • 本文介绍了使用FormData对象上传文件同时附带其他参数的方法。通过创建一个表单,将文件和参数添加到FormData对象中,然后使用ajax发送POST请求进行文件上传。在发送请求时,需要设置processData为false,告诉jquery不要处理发送的数据;同时设置contentType为false,告诉jquery不要设置content-Type请求头。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 查询单个functionquery(id){$.ajax({url:smallproductServlet,async:true,type:POST,data:{typ ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • 我用Tkinter制作了一个图形用户界面,有两个主按钮:“开始”和“停止”。请您就如何使用“停止”按钮终止“开始”按钮为以下代码调用的已运行功能提供建议 ... [详细]
author-avatar
苏小丫123_877
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有