1.合并

function autoRowSpan(tbid, row, col) {
var tb = document.getElementById(tbid);
var lastValue = "";
var value = "";
var pos = 1;
for (var i = row; i < tb.rows.length; i++) {
value = tb.rows[i].cells[col].innerText;
if (lastValue == value) {
tb.rows[i].deleteCell(col);
tb.rows[i - pos].cells[col].rowSpan = tb.rows[i - pos].cells[col].rowSpan + 1;
pos++;
} else {
lastValue = value;
pos = 1;
}
}
}
2.根据上一例合并记录合并下一列

function autoRowSpan2(tbid, row, col) {
var tb = document.getElementById(tbid);
var lastValue = "";
var value = "";
var pos = 1;
for (var i = row; i < tb.rows.length; i++) {
var rospan = tb.rows[i].cells[0].getAttribute('rowSpan');
if (rospan > 1) {
lastValue = tb.rows[i].cells[col].innerText;

var index = 1;
for (var j = i + 1; j < tb.rows.length; j++) {
if (index == rospan) break;

value = tb.rows[j].cells[col - 1].innerText;
//alert(value);
if (lastValue == value) {
tb.rows[j].deleteCell(col - 1);
index++;
} else {
lastValue = value;
}
}
tb.rows[i].cells[col].rowSpan = index;
//tb.rows[i].cells[col].rowSpan = index;
}
}
}

function merge() {
var totalRow = $("#table_ZC tbody").find("tr").length;
var totalCol = $("#table_ZC tbody").find("tr").eq(0).find("td").length;
for (var col = totalCol - 7; col >= 0; col--) {
spanNum = 1;
startCell = $("#table_ZC tbody").find("tr").eq(totalRow - 1).find("td").eq(col);

for (var row = totalRow - 1; row >= 1; row--) {
targetCell = $("#table_ZC tbody").find("tr").eq(row - 1).find("td").eq(col);
if (startCell.text() == targetCell.text() && startCell.text() != "") {

spanNum++;
targetCell.attr("rowSpan", spanNum);
startCell.remove();
} else {
spanNum = 1;
}
startCell = targetCell;
}
}
}

3.合并table 的第一个单元格

function merge() {
var totalRow = $(".jjtable tbody").find("tr").length;

spanNum = 1;
startCell = $(".jjtable tbody").find("tr").eq(totalRow - 1).find("td").eq(0);

for (var row = totalRow - 1; row >= 1; row--) {
targetCell = $(".jjtable tbody").find("tr").eq(row - 1).find("td").eq(0);
if (startCell.text() == targetCell.text() && startCell.text() != "") {

spanNum++;
targetCell.attr("rowSpan", spanNum);
startCell.remove();
} else {
spanNum = 1;
}
startCell = targetCell;
}
}

js 表格合并的更多相关文章

  1. js 表格合并单元格

    5列  根据需要可添加 或 删除 strOneTemp  strTwoTemp  strThreeTemp  strFourTemp  strFiveTemp //合并单元格  this.mergeC ...

  2. jquery操作表格 合并单元格

    jquery操作table,合并单元格,合并相同的行 合并的方法 $("#tableid").mergeCell({ cols:[X,X] ///参数为要合并的列}) /** * ...

  3. element-ui 使用span-method表格合并后hover样式的处理

    在使用element表格合并后,发现鼠标只有移入第一个合并行时,合并的部分会高亮,移入其他行,不会高亮,这样效果看起来不是很好.查看了文档也没有直接的解决方法,就通过现有的方法处理了一下,解决了hov ...

  4. 关于表格合并span-method方法的补充(表格数据由后台动态返回)

    之前写了一些关于element-ui表格合并的方法,不过用的数据都是确定的数据(死数据),但是很多时候我们的数据都是通过后台获得的,数据不稳定,这个时候使用表格合并就需要先处理一下数据,先看一下一种很 ...

  5. js文件合并,压缩,缓存,延迟加载

    做web前段也有一段时间了,对于web中js文件的加载有些体会想跟大家一起分享一下. 1.首先说说js文件的合并和压缩吧 为了便于集中式管理js的合并和压缩我们创建一个Js.ashx文件来专门处理合并 ...

  6. CSS 和 JS 文件合并工具

    写 CSS 和 JavaScript 的时候, 我们会遇到一个两难的局面: 要么将代码写在一个大文件, 要么将代码分成多个文件. 前者导致文件难以管理, 代码复用性差, 后者则因为需要在载入多个文件令 ...

  7. gulp 之一 安装及简单CSS,JS文件合并压缩

    最近研究了一下gulp构建工具,发现使用起来比grunt顺手一些.(个人感受),以下是grunt和gulp构建方式和原理: grunt 基于文件方式构建,会把文件先写到临时目录下,然后进行读文件,修改 ...

  8. QTableWidget表格合并若干问题及解决方法

    Qt提供 QTableWidget作为表格的类以实现表格的基本功能,表格中所装载的每一个单元格由类QTableWidgetItem提供.这是基于表格实现 Qt提供的一个基础类,若想实现定制表格和单元格 ...

  9. element-ui表格合并span-method

    先看一下合并后的样式,表格第二行,二三四列合并 官网给我们提供了span-method的方法可以进行表格合并,有4个参数返回:row,column,rowIndex,columnIndex;row和c ...

随机推荐

  1. WPF实现Drag/Drop操作

    原文:WPF实现Drag/Drop操作 有时候我们方便用户操作,总会把一下Copy/Paste 或者 input操作转换为Drag/Drop, WPF 跟之前WinForm 一样提供了一些实现方式方便 ...

  2. JS控制语句 编程练习 学生数据,分别是姓名、性别、年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦。

    编程练习 在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,分别是姓名.性别.年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦. 学生信息如下 ...

  3. 84 落单的数 III

    原题网址:http://www.lintcode.com/zh-cn/problem/single-number-iii/# 给出2*n + 2个的数字,除其中两个数字之外其他每个数字均出现两次,找到 ...

  4. iOS之CATiledLayer的属性简介和使用

    1.CATiledLayer简介 CATiledLayer用于大型图片进行分割显示,需要显示的图片才会加载,直接上代码: - (void)viewDidLoad { [super viewDidLoa ...

  5. 服务器迁移部署PosApp

    绑定 基本配置 高级设置

  6. layui -关闭窗口方法

    1.关闭当前窗口 var index=parent.layer.getFrameIndex(window.name); //获取当前窗口的nameparent.layer.close(index); ...

  7. eclipse memory analyzer对系统内存溢出堆文件解析0(转)

    前言 在平时工作过程中,有时会遇到OutOfMemoryError,我们知道遇到Error一般表明程序存在着严重问题,可能是灾难性的.所以找出是什么原因造成OutOfMemoryError非常重要.现 ...

  8. java基础之BigInteger

    BigInteger类概述可以让超过Integer范围内的数据进行运算 构造方法 public BigInteger(String val) 成员方法: public BigInteger add(B ...

  9. [Ynoi2012]D1T1

    题目 套路的根号分治啊 我们设置一个值\(S\) 对于\(S\leq x\)的操作,我们直接暴力修改,显然这样只会修改\(\frac{n}{S}\)次,所以我们需要一个能够\(O(1)\)修改的数据结 ...

  10. Windows API 25篇 TerminateProcess

    导语:结束一个进程的方法通常有:exit(), ExitProcess, TerminateProcess. 通常一个进程在正常情况下结束的话,系统会调用 ExitProcess函数结束进程,但有时候 ...