使用jquery的tmpl构建复杂表格
Tmpl提供了几种tag:
${}:等同于{{=}},是输出变量,通过了html编码的。
{{html}}:输出变量html,但是没有html编码,适合输出html代码。
{{if }} {{else}}:提供了分支逻辑。
{{each}}:提供循环逻辑,$value访问迭代变量。
现在主要介绍利用tmpl构造复杂一点的表格,比如说动态加载数据以及单元格合并
<div class="shadow">
			<div class="title"><span>打分信息</span></div>
   				<div class="content" id="cengji01" style="display:">
			     <table width="100%" border="1" cellspacing="0" class="tableborder">
					<tr class="tr_normal">
				        <td class="table_title" >项目</td>
				        <td class="table_title">评估细项</td>
				        <td class="table_title">分值</td>
				        <td class="table_title">评分标准</td>
				        <td class="table_title">评分</td>
				     </tr>
					<tbody id="templateItemList">
					</tbody>
				</table>
				<script id="templateItemListTmpl" type="text/x-jquery-tmpl">
						{{each(i,data) template.itemList}}
							<tr class="tr_normal" onmouseover="this.className='tr_act'" onmouseout="this.className='tr_normal'">
							{{if i==0||template.itemList[i-1].parentItemName!=data.parentItemName}}
								<td rowspan="{{= data.rowCount}}" width="8%">{{= data.parentItemName}}</td>
							{{/if}}
								<td width="8%">{{= data.itemName}}</td>
								<td width="5%">{{= data.maxScore}}</td>
								<td width="60%">{{= data.itemDesc}}</td>
								<td width="5%">{{= data.itemScore}}</td>
							</tr>
						{{/each}}
						<tr>
							<td colspan="4" align="center">合计</td>
							<td style="font-weight:bold;"> {{= template.sumScore}}</td>
						</tr>
						{{each(i,data) template.otherItemList}}
							<tr class="tr_normal" onmouseover="this.className='tr_act'" onmouseout="this.className='tr_normal'">
								<td width="8%">{{= data.parentItemName}}</td>
								<td width="8%" colspan="3" align="center">{{= data.itemDesc}}</td>
								<td width="5%">{{= data.itemScore}}</td>
							</tr>
						{{/each}}
						<tr>
							<td>最后得分</td>
							<td colspan="4" align="center" style="font-weight:bold;color:red;">{{= template.allSumScore}}</td>
						</tr>
						<tr>
							<td>综合评语</td>
							<td colspan="4"> 希望加强管理,继续努力!</td>
						</tr>
				</script>
			</div>
		</div>$().ready(function() {
            $('#templateItemListTmpl').tmpl(data.data).appendTo('#templateItemList');
	})效果图如下

使用jquery的tmpl构建复杂表格的更多相关文章
- JQuery中操作表单和表格
		一:表单应用 1.HTML中的表单大致由三部分组成 (1).表单便签:包含处理表单数据所用的服务端程序URL,以及数据提交到服务器的方法. (2).表单域:包含文本框.密码框.隐藏域.多行文本框.复选 ... 
- jquery完成带单选按钮的表格行高亮显示
		jquery完成带单选按钮的表格行高亮显示 上篇博客写的是复选框的,这次写的是单选框的,有时查询的时候,只能选择一条记录,如果将选中的这条记录的行高亮显示,同时该行的单选按钮也被选中了,这样会提高用户 ... 
- 【jQuery插件】用jQuery Masonry快速构建一个pinterest网站布局(转)
		[jQuery插件]用jQuery Masonry快速构建一个pinterest网站布局 时间:2011年03月21日作者:愚人码头查看次数:29,744 views评论次数:25条评论 前段时间领导 ... 
- JQuery Easy Ui dataGrid 数据表格 ---制作查询下拉菜单
		JQuery Easy Ui dataGrid 数据表格 数据表格 - DataGrid 继承$.fn.panel.defaults,使用$.fn.datagrid.defaults重载默认值.. 数 ... 
- jQuery的下面是动态表格动态表单中的HTML代码
		动态表格动态表单中的Jquery代码 <script type="text/javascript" src="/include/jquery/jquery-1.1. ... 
- 第二百二十八节,jQuery EasyUI,TreeGrid(树形表格)组件
		jQuery EasyUI,TreeGrid(树形表格)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 TreeGrid(树形表格)组件的使 ... 
- 第二百二十五节,jQuery EasyUI,PropertyGird(属性表格)组件
		jQuery EasyUI,PropertyGird(属性表格)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 PropertyGird(属性表格)组件的 ... 
- 第二百二十四节,jQuery EasyUI,ComboGrid(数据表格下拉框)组件
		jQuery EasyUI,ComboGrid(数据表格下拉框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 ComboGrid(数据表格下拉框)组件的 ... 
- 第二百二十二节,jQuery EasyUI,DataGrid(数据表格)组件
		jQuery EasyUI,DataGrid(数据表格)组件 学习要点: 1.加载方式 2.分页功能 本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于 Pa ... 
- 实战Jquery(二)--能够编辑的表格
		今天实现的是一个表格的样例,通过获取表格的奇数行,设置背景色属性,使得奇偶行背景色不同.这个表格能够在单击时编辑,回车即更改为新输入的内容;ESC还原最初的文本.表格的实现思路非常清晰,仅仅是在实现的 ... 
随机推荐
- Linux驱动中的等待队列与休眠
			Linux驱动中的等待队列与休眠 原文:https://blog.csdn.net/mengluoxixiang/article/details/46239523?spm=1001.2014.3001 ... 
- Centos7搭建Minio环境(配置开机自启)
			Minio 添加环境变量 # 设置控制台账号 最少3位 export MINIO_ACCESS_KEY=admin # 设置密码 最少8位 export MINIO_SECRET_KEY=123456 ... 
- MyBatis学习篇
			什么是MyBatis (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动.创建连接.创建statement等繁杂 ... 
- leetcode中等(字符串):[3, 6, 8, 49, 179, 299, 524, 539, 609, 648]
			目录 3. 无重复字符的最长子串 6. Z 字形变换 8. 字符串转换整数 (atoi) 49. 字母异位词分组 179. 最大数 299. 猜数字游戏 524. 通过删除字母匹配到字典里最长单词 5 ... 
- 高程读后感(四)— 关于BOM本人容易忽略的知识点总结
			目录 window对象 window对象上属性及方法 超时调用setTimeout和间歇调用setInterval BOM location对象及其位置操作 history对象 window对象 wi ... 
- django 信号判断是新增、修改还是删除
			在Django的信号处理器中,你可以使用一些方法来确定信号是关于新增(create).修改(update)还是删除(delete)的.这通常涉及到检查 created 和 instance 参数的值. ... 
- [oeasy]python0104_指示灯_显示_LED_辉光管_霓虹灯
			编码进化 回忆上次内容 x86.arm.riscv等基础架构 都是二进制的 包括各种数据.指令 但是我们接触到的东西 都是屏幕显示出来的字符 计算机 显示出来的 一个个具体的字型  ... 
- Vue 给mapState中定义的属性赋值报错的解决方案
			Vue 给mapState中定义的属性赋值报错的解决方案 by:授客 QQ:1033553122 1. 实践环境 Vue 2.9.6 2. 问题描述 <script> import ... 
- c++ 关于返回值、将亡值的调用研究
			c++11引入右值引用,而出现右值引用的有这几种:返回值(将亡值),常量. class Obj { public: Obj() { cout << "构造函数" < ... 
- java面试一日一题:讲下ThreadLocal
			问题:请讲下ThreadLocal 分析:首先要了解ThreadLocal的基本原理:其次要理解ThreadLocal发生内存泄漏的原因:最后ThreadLocal是如何做到线程隔离的 回答要点: 主 ... 
