2013.12.04 JS实现单元格的合并

原创 2013年12月04日 17:09:59


内容见:《合并内容相同的单元格

核心js:

merge2(3);merge2(2);merge2(1);merge2(0);
// 问:为什么要先处理1,再处理0呢?
// 答:如果先处理0这一列,则第一次处理结束之后,会删除一部分<td>标签,
//   则第二列部分<td>标签会成为第一列,这将影响下次对第二列的处理;相反
//   如果先处理1,即处理第二列,处理完成之后,第三列部分数据会成为第二列
//     数据,但是这对第一列的数据并没有影响
// index为列的下标
// 合并内容相等的相邻列
// 合并原理:如果相邻列相等,则计数器加1,直到相邻列不相等,则合并
function merge2(index) {
var count = 0;// 计数器
var $firstTd = $('table.merge2 tr td:eq(' + index + ')');// 第一行指定列作为目标列
var firstContent = $firstTd.text();
$('table.merge2 tr').each(function(i) {// 遍历每一行,取得指定列的值
$secondTd = $(this).find('td:eq(' + index + ')');
var secondContent = $secondTd.text();
if(firstContent == secondContent) {// 值相等
count ++;
if(count > 1) {// count > 1表示,已经至少有2列值相等,则需要先移除重复的一列,然后合并
$secondTd.remove();
$firstTd.attr('rowspan',count);
}
} else { // 值不等,将此时的值作为目标值,进入到下一轮比较
count=1;
firstContent = secondContent;
$firstTd = $secondTd;
}
});
}

js操作html的table,包括添加行,添加列,删除行,删除列,合并单元格(未实现,可参考代码)

记得以前面试的时候遇到过这样一个问题:有一个表格,然后有4个输入框,一个合并 按钮,输入框是这样的,从第几行到第几行,从第几列到第几列,然后点击按钮,合并 。当时我从学校出来,js知识只是知道一些,根...

js合并单元格

  • 2013年01月06日 16:03
  • 3KB
  • 下载

合并单元格好JS

  • 2011年12月30日 14:34
  • 2KB
  • 下载

【转】js操作html的table,包括添加行,添加列,删除行,删除列,合并单元格(未实现)

转自:http://www.cnblogs.com/greatverve/archive/2009/07/02/1515192.html js操作表格 /*生成表格,采用appendChi...

js 合并单元格

  • 2013年11月12日 13:01
  • 1KB
  • 下载

js合并单元格

  • 2016年07月05日 15:43
  • 2KB
  • 下载

JS:jquery插件表格单元格合并.

公司需要用到单元格合并,于是动手封装了一个简单的jquery插件,封装的函数是直接写好转的,请多多提意见看代码是否有优化的地方..... 截图: 代码: /* * mergeTabl...

js 合并单元格2例

  • 2008年10月06日 17:00
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2013.12.04 JS实现单元格的合并
举报原因:
原因补充:

(最多只允许输入30个字)