jquery tmpl遍历
最近发现大家用模板渲染一些顺带逻辑功能代码块时,用jquery tmpl较多,遇到了一些问题,现在就个人以前研究过的一切常用功能作介绍,主要针对遍历,其它的大家可以自行浏览一起网站,如:http://www.cnblogs.com/piaopiao7891/archive/2013/04/22/3035122.html 希望对大家有所帮助
1.普通数组对象的遍历,关键词{{each Array}}、$value、$index
数据格式:
var person = [
{'name':'Tom','age':18,'location':[{'pro':'安徽省'},{'pro':'六安市'},{'pro':'舒城县'}]},
{'name':'Jack','age':19,'location':[{'pro':'安徽省'},{'pro':'合肥市'},{'pro':'蜀山区'}]}
];
模板定义:(注意type)
<script id="myTemp" type="text/x-jquery-tmpl">
<li class="li">
<span class="a" title='${name}'>${name}</span>
<span class="b" title='${age}'>{{= name}}</span>
<span class="c" title='location'>
{{each location}}
${$index+1}:${$value.pro}
{{/each}}
</span>
</li>
</script>
html:
<ul id="ul_temp"></ul>
调用:(注意两个选择器代表什么)
$("#myTemp").tmpl(person).appendTo("#ul_temp");
打印效果:
Tom Tom 1:安徽省 2:六安市 3:舒城县
Jack Jack 1:安徽省 2:合肥市 3:蜀山区
上例中,{{each}}表示表里一个数组对象,而不是对象,$index表示当前遍历的索引值,$value表示当前遍历与索引对应的值(注意这句话,是对应值,说明可能是个对象),这里容易出错打印成Object Object,原因你把对象的引用打印出来了
2.对象的属性的遍历
将上例数据源更改如下:
var person1 = {
'name':'Tomson',
'relation':'son',
'family':[{
'name':'Tom',
'relation':'father'
},{
'name':'Monica',
'relation':'mother'
}]
}
模板更改如下:
<script id="myTemp" type="text/x-jquery-tmpl">
<span class="a" title='${name}'>${name}</span>
<span class="b" title='{{ =relation}}'>
<ul>
{{each(i,data) family}}
<li class="li">
${data.relation}:${data.name}
</li>
{{/each}}
</ul>
</span>
</script>
打印效果:
Tomson
father:Tom
mother:Monica
{{each(i,data) Array}} 类似jquery each,‘i’表示索引,‘data’表索引对象的对象通过对象点属性遍历,中间嵌入{{if}}可实现逻辑操作
将上处模板更改如下:
{{each(i) family}}
<li class="li">
${family[i].relation}:${family[i].name}
</li>
{{/each}}
可获取指定数组元素的值,当然也可以强制指定某个值,无需遍历好了,就这么多了,另外常用还有${data}获取数据源值等,有问题的可以私下交流
jquery tmpl遍历的更多相关文章
- jQuery tmpl用法总结
之前很是头疼循环数据的渲染,搞一大堆的命名,一点点的赋值,很是麻烦,今天学习了一下jQuery插件tmpl,下面抛出一些使用方法,供以后参考: 官方网址:http://web.archive.org/ ...
- web下c#用jquery.tmpl.min.js插件实现分页查询_yginuo
背景:webform或者mvc下实现插件快速分页 ps:我这里用的mvc开发的,数据库连接.用的ADO.NET实体数据模型 此案例下载地址(内含需要用到的一个插件与数据库):http://downlo ...
- jquery tmpl 详解
官方解释对该插件的说明:将匹配的第一个元素作为模板,render指定的数据,签名如下: .tmpl([data,][options]) 其中参数data的用途很明显:用于render的数据,可以是任意 ...
- artTemplate里一个比不上jQuery tmpl模板的地方就是放一个数组进去它不会自动循环.
artTemplate里一个比不上jQuery tmpl模板的地方就是放一个数组进去它不会自动循环.
- jquery.tmpl.js 模板引擎用法
1.0 引入: <script src="/js/jquery.tmpl.min.js"></script> 2.0 模板: <script type ...
- jquery学习——遍历
1.each() $(selector).each(function(index,element)) var arr = [ "a", "bb", " ...
- MVC - 11(下)jquery.tmpl.js +ajax分页
继续 mvc-11(上).dto:http://www.cnblogs.com/tangge/p/3840060.html jquery.tmpl.js 下载:http://pan.baidu.com ...
- JQuery.tmpl()的用法
动态请求数据来更新页面是现在非常常用的方法,现在通过Ajax请求返回的数据更多的是json对象, 为了解决js动态拼接数据这方面的问题,JavaScript 也可以利用模版来解决这些问题,比如基于 j ...
- jQuery .tmpl() 用法
动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...
随机推荐
- Android平板电脑开发— — —碎片
碎片是一种可以嵌入在活动中的UI片段,它能让程序更加合理与充分地使用大屏幕的空间,碎片通常都是在平板电脑开发中才会使用 简单实例 左碎片布局 <?xml version="1.0&qu ...
- NSAssert的使用
NSAssert的使用 苹果在foundation.framework中定义了这么一个宏: #define NSAssert(condition, desc, ...) 第一个参数为一个条件判 ...
- SAP 增强-出口选找方法-全部
■ SAP 中如何寻找增强 方法一:利用TCODE寻找增强(第二代的增强) 执行一个程序(源代码后附),在选择屏幕处输入你所需要增强的程序TCODE,执行後,就会出现一个列表,那里就有关于如何增强这个 ...
- Fragment的初步设计
Fragment的初步设计 Fragment功能 Fragment将每一段碎片时间归类到一个具体的事件上: 使用者可以创建多个事件对碎片时间进行分类: 使用者点击事件会进入用户自己设置好的事件对应的A ...
- Android应用增加计时器
昨天写的Sudoku游戏需要增加计时器功能,使用Chronometer实现如下,由于Chronometer自己在调用stop之后后台的计时器还会继续增加,所以暂停功能需要额外实现: 在StartAct ...
- [转]深入理解学习GIT工作流
深入理解学习Git工作流 字数13437 阅读2761 评论3 喜欢70 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心 ...
- Node.js高级编程读书笔记 - 3 网络编程
Outline 3.4 构建TCP服务器 3.5 构建HTTP服务器 3.6 构建TCP客户端 3.7 创建HTTP请求 3.8 使用UDP 3.9 用TLS/SSL保证服务器的安全性 3.10 用H ...
- Android Studio Lint 自动检查清除冗余资源
(Android Lint) 辛苦的花了很长的周期 做完了项目. 但是打包完发现 APK 的大小让你瞠目结舌 是不是甚至连自己不知道哪里拷贝过来了代码 和 代码相关的布局文件 资源等, 哪些被使用 哪 ...
- dpkg ---- apt-get ------ aptitude 三种方式的区别 及命令格式
转自:http://blog.csdn.net/xiaoyanghuaban/article/details/22946987 dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的 ...
- rtabmap_ros安装---43
摘要: 原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/ 一.前言 RTAB-Map (Real-Time Appearance-Based Mappin ...