- 浏览: 183422 次
- 性别:
- 来自: 深圳
文章分类
最新评论
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>Fancy Navigation with CSS & jQuery - Tutorial by Soh Tanaka</title>
<script type="text/javascript" src="file:///E|/DreameaverHtml/jquery-1.4.2.js"></script>
<script type="text/javascript">
/**
* willcheck:要进行处理的表格对象(或者行的集合即可)
* colnum:要进行合并单元格的列
*/
function coltogather(willcheck,colnum){
var alltext = [],togotherNum = [],oldnum = [],id=1,lasttext=null,rmflag=1;
//逐列的数据进行扫描,得到里面的不重复的数据,以及各个数据的数目,然后将依据此结果进行设置rowspan属性
willcheck.each(function(){
var _rmnum = this.getAttribute('rmnum');
if(!_rmnum)_rmnum=0;
var trdom= jQuery('td:eq('+(colnum-_rmnum)+')',this)
var text = jQuery(trdom).text();
//如果上一行记录文本为空,说明是第一行
if(lasttext==null) {
lasttext = text;
}else {
//如果当前行和上一行记录一样,说明要进行合并,合并的单元格数目就加1
if(lasttext!=text){
togotherNum.push(id);
lasttext = text;
id = 1;
} else{
id++;
}
}
});
togotherNum.push(id);
//复制allnum数组中的数据到oldnum数组
jQuery.each(togotherNum, function(i, n){
oldnum[i] =n;
});
var index = 0,len = togotherNum.length;
//逐行进行处理,设置指定列的rowspan属性,以及将要合并的单元格remove!
willcheck.each(function() {
// 得到一个属性表示该行已经被移除了几个td
var _rmnum = this.getAttribute('rmnum');
if (!_rmnum)
_rmnum = 0;
var tddom = jQuery('td:eq(' + (colnum - _rmnum) + ')', this)
if (togotherNum[index] == oldnum[index]) {
tddom.attr('rowSpan', togotherNum[index]);
if(togotherNum[index]>1)
togotherNum[index] = togotherNum[index] - 1;
else
index++;
} else {
if (togotherNum[index] == 0) {
index++;
tddom.attr('rowSpan', togotherNum[index]);
} else {
tddom.remove();
if(--togotherNum[index]==0){
index++;
}
}
// 移除了td之后,要在tr里面添加一个属性标示已经移除的td的数目
if (_rmnum == 0) {
jQuery(this).attr('rmnum', 1);
} else {
jQuery(this).attr('rmnum', 1 + _rmnum * 1);
}
}
});
//清空数组
alltext = null;
togotherNum = null;
oldnum = null;
}
function isinarr(arr,str){
for(var i=arr.length-1;i>=0;i-- ){
if(arr[i]==str)
{return i;
}
}
return -1;
}
function checktable(id){
var tdnum=0;
$('#'+id+' tr').each(function(){
if(tdnum==0){
tdnum = $('td',this).size();
}else{
if(tdnum!=$('td',this).size()){
tdnum = -1;
return false;
}
}
});
if(tdnum>0)
return true;
return false;
}
function go() {
if(!checktable('aaa')){
return false;
}else{
coltogather($('#aaa tr'),0);
coltogather($('#aaa tr'),1);
coltogather($('#aaa tr'),2);
}
}
$(document).ready(function(){go();});
</script>
</head>
<body>
<button onclick='go()'> 合并单元格</button>
<TABLE id='aaa' border='1 red'>
<TR>
<TD>111</TD>
<TD>22</TD>
<TD>33</TD>
<TD>11</TD>
<TD>22</TD>
<TD>33</TD>
</TR>
<TR>
<TD>111</TD>
<TD>22</TD>
<TD>33</TD>
<TD>11</TD>
<TD>22</TD>
<TD>33</TD>
</TR>
<TR>
<TD>22</TD>
<TD>22</TD>
<TD>33</TD>
<TD>11</TD>
<TD>22</TD>
<TD>33</TD>
</TR>
<TR>
<TD>55</TD>
<TD>22</TD>
<TD>66</TD>
<TD>11</TD>
<TD>22</TD>
<TD>33</TD>
</TR>
<TR>
<TD>55</TD>
<TD>22</TD>
<TD>66</TD>
<TD>11</TD>
<TD>22</TD>
<TD>33</TD>
</TR>
</TABLE>
</body>
</html>
发表评论
文章已被作者锁定,不允许评论。
-
使用SignalR构建一个最基本的web聊天室
2015-01-06 15:09 728使用SignalR,可以使用服务器消息推送到客户端,件demo ... -
lazyload异步加载图片
2014-12-24 15:18 488如果一个网页很长并且有很多图片的话,下载图片就需要很多时间 ... -
checbox,redio超强样式运用
2013-06-04 16:49 757<html xmlns="http://ww ... -
一个避免用户重复点击按钮造成重复数据的小技巧
2013-01-13 16:13 1173<script> //启用 ... -
.net 用JQuery+ajax实现批量上传图片
2012-08-07 23:15 1466先看效果图 点击增加按钮,会增加一个选择框, ... -
类似QQ选择组
2012-04-11 19:07 716<style>td {font:12px;}.ti ... -
javascript弹出窗口大全
2011-09-21 20:27 660关键字: 弹出窗口 如何利用网页弹出各种形式的窗口,我想大家大 ... -
一些实用的jQuery代码片段
2011-07-19 15:42 8081.jQuery得到用户IP: $.ge ... -
10大Ajax开发守则
2011-06-08 14:14 7441.前、端后都要做好安全的把关工作不能单靠前端做安全验证工作, ... -
Asp.net前台调后台方法
2011-05-30 16:51 1489 这个当然不用说大家都知道的一种就是ajax ... -
jQuery中常用的函数方法汇总
2011-05-23 00:16 752事件处理 ready(fn) 代 ... -
jquery选择器,过滤器介绍
2011-05-19 19:20 854一、JQuery与JavaScript 1.Jav ... -
jquery常用过滤选择器
2011-05-19 19:18 704过滤选择器主要 ... -
jquery函数
2011-05-18 23:25 657函数:after(content)功能:在每个匹配的元素后面添 ...
相关推荐
jxls2.0支持合并单元格和合并单元格模板写入数据,jar包里已经包含了pom.xml,可以自行解压方便上传到maven私服,这种方式会带上依赖,否则要一个个手动添加依赖.pom在jar包里jxls-core\2.0\jxls-core-2.0\META-INF\...
jasperReport 动态合并单元格示例
Word NPOI 合并单元格示例
wpf GridView 合并单元格 Demo 简单 适合新手 使用工具vs2017
devexpress gridcontrol 横向合并单元格,字体自动换行
DataGridView合并单元格(纵向合并及横向合并)
dbgrideh 实现有条件合并单元格的例子 内含修改的dbgrideh 4.2控件
java excel poi合并单元格
layui table合并单元格.zip 跨行自动合并单元格
WPF Datagrid 合并单元格 复杂表头 支持位置拖动、 列宽度拖动,组内列会按比例自动调整 ;
编程人员可以通过此方法动态的合并单元格,方便您在操作中动态的合并
winform使用Microsoft.Office.Interop.Excel读取带有合并单元格的Excel的demo,Excel版本不限,可以是.xls可以是.xlsx版本。本程序采用webbrowser显示读取的数据,使用bootstrap的css样式美化table表格,使用Json...
jqgrid合并单元格 .jqgrid { width: 80%; margin: 0 auto; } /* 这个代码是解决表头有一点点错位的问题 */ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-...
easyExcel导出合并单元格策略 WriteSheet writeSheet = EasyExcel.writerSheet(i, "Sheet" + (i + 1)) .registerWriteHandler(new CustomCellWriteHandler()) //设置合并单元格策略 .registerWriteHandler(new ...
poi获取合并单元格,Java 对excel 文档处理。
vue-easytable合并单元格,文档包括ftl文件及对应的js
【JAVA】easypoi根据Excel模板导出 循环遍历合并单元格处理
excel计算合并单元格所占行数
asp.net C#得到Excel合并单元格行和列及其内容,得到合并单元格的开始行列和结束的行和列。关闭Excel 进程。