jQuery模板提案(11)
作者:dishuipiaoxiang 来源:Denis'Blog 发布时间:2010-03-30 18:27:00
标签:jquery,模板,Javascript,对象
嵌套模板
利用回调函数,你可以创建其嵌套模板。例如,下面代码显示了如何显示联系人名单,每个联系人有一个或多个电话号码。contactTemplate 用来显示联系人名单,phoneTemplate 用来显示每个电话号码。
<script type="text/javascript">
$(function() {
var contacts = [
{ name: "Dave Reed", phones: ["209-989-8888", "209-800-9090"] },
{ name: "Stephen Walther", phones: ["206-999-8888"] },
{ name: "Boris Moore", phones: ["415-999-2545"] }
];
$("div").append("#contactTemplate", contacts, {rendered:rendered});
});
function rendered(context, dom) {
$("div.phones", dom)
.append("#phoneTemplate", context.dataItem.phones);
}
</script>
<script id="contactTemplate" type="text/html">
<div>
{%= name %}
<div class="phones"></div>
</div>
</script>
<script id="phoneTemplate" type="text/html">
<div>
Phone: {%= $context.dataItem %}
</div>
</script>
<div></div>
创建插件
假设你想在模板中使用插件--如jQuery UI Datepicker。此外,想象以下,你希望插件显示数据项的值。例如,你希望DatePicker 默认显示数据项的一个date属性。在这种情况下,你需要利用rendered()回调创建插件并用数据项的值初始化插件。
例如,下面的代码显示联系人的名单,rendered() 用来创建一个jQuery UI Datepicker插件,并在模板中的一个input元素中附加插件。DataPicker 的默认值为联系人的生日。
<script type="text/javascript">
$(function() {
var contacts = [
{ name: "Dave Reed", birthdate: new Date("12/25/1980") },
{ name: "Stephen Walther", birthdate: new Date("12/25/1977") },
{ name: "Boris Moore", birthdate: new Date("12/25/1934") },
{ name: "Eilon Lipton", birthdate: new Date("12/25/2004") },
{ name: "Assad Safiullah", birthdate: new Date("12/25/1954") }
];
$("div").append("#template", contacts, { rendered: rendered });
});
function rendered(context, dom) {
$("input", dom)
.datepicker({ defaultDate: context.dataItem.birthdate })
}
</script>
<script id="template" type="text/html">
<div>
{%= name %}
<br />
birthdate: <input />
</div>
</script>
<div></div>


猜你喜欢
- 本文主要内容python MySQLdb数据库批量插入insert,更新update的:1.python MySQLdb的使用,写了一个基类
- 本文实例讲述了python中xrange用法。分享给大家供大家参考。具体如下:先来看如下示例:>>> x=xrange(0
- 在使用python做数据分析的时候,经常需要先对数据做统一化的处理,缺失值的处理是经常会使用到的。一般情况下,缺失值的处理要么是删除缺失数据
- 方法1: 将shell执行的结果保存到字符串def run_cmd(cmd): result_str='' process
- 接上一篇终于知道python的装饰器是怎么回事,那在工作中,到底能干吗用呢?尤其对我这个只会写写脚本又不做python开发的小测试/手动无辜
- 缘起最近复习设计模式拜读谭勇德的<<设计模式就该这样学>>该书以java语言演绎了常见设计模式本系列笔记拟采用gol
- SQL Server执行动态SQL的话,应该如何实现呢?下面就为您介绍SQL Server执行动态SQL两种正确方式,希望可以让您对SQL
- 此篇文章整理新手编写代码常见的一些错误,有些错误是粗心的错误,但对于新手而已,会折腾很长时间才搞定,所以在此总结下我遇到的一些问题。希望帮助
- cmp()方法返回两个数的差的符号: -1 如果 x < y, 0 如果 x == y, 或者 1 如果 x > y
- 我就废话不多说啦,还是直接看代码吧! from example.commons import Faker from pyecharts im
- matplotlib制作简单的动画动画即是在一段时间内快速连续的重新绘制图像的过程.matplotlib提供了方法用于处理简单动画的绘制:i
- asp之家注:一个取图片尺寸的asp类,支持jpg,gif,png格式的图片文件;读取图片的尺寸其实很有用,当我们在设计一个新闻文章添加页面
- linux安装mysql服务分两种安装方法:①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容
- Google Chrome 的发布,使我们更加的注重基于 WebKit 核心的浏览器的表现情况,但我们很多时候“不小心”就会出现
- 例如:将日期格式为2009-6-8的转换为2009-06-08,给小于10的数字补上一个0方法一:year(now)
- 1、文件添加方式:pycharm提供了一个在新建文件自动生成文件头注释的功能,可以实现自动生成运行环境,作者、日期等必要信息,使用比较方便,
- 背景:读取TXT文件,加载到kafka中,然后通过logstash消费kafka中的数据加载到es中第一步:导入相应的依赖包pip inst
- 介绍Trie树:又称为单词查找树,是一种树形结构,可以应用于统计字符串,会在搜索引擎系统中用于对文本的词频统计,下图是一个Trie树的结构,
- 场景分析一般Linux系统默认自带两个版本的python,我按照的虚拟机系统自带的版本为python2.7和python3.2,但是由于个人
- 简介Flv.js 是 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发,没有用到 Flash。由 bilib