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. webpack 简单笔记(二)CommonsChunkPlugin插件

    接下来就要使用CommonsChunkPlugin插件 (一)单一入口,模块单一引用,分文件输出,单一入口,模块重复引用,分文件输 main.js代码 require('./static/js/mai ...

  2. java_DateTimeFormatter

    日期时间的格式化和解析: public class DateTimeFormatterTest { /** * 时间日期格式化 * @param args */ public static void ...

  3. 2019-8-2-WPF-依赖属性绑定不上调试方法

    title author date CreateTime categories WPF 依赖属性绑定不上调试方法 lindexi 2019-08-02 19:56:32 +0800 2019-8-2 ...

  4. 2019-8-31-dotnet-core-发布只带必要的依赖文件

    title author date CreateTime categories dotnet core 发布只带必要的依赖文件 lindexi 2019-08-31 16:55:58 +0800 20 ...

  5. Leetcode166. Fraction to Recurring Decimal分数到小数

    给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数. 如果小数部分为循环小数,则将循环的部分括在括号内. 示例 1: 输入: numerator ...

  6. Spring Cache 简介

    org.springframework.cache; org.springframework.cache.Cache org.springframework.cache.CacheManager 依赖 ...

  7. csp-s模拟测试56Merchant, Equation,Rectangle题解

    题面:https://www.cnblogs.com/Juve/articles/11619002.html merchant: 二分答案,贪心选前m大的 但是用sort复杂度不优,会T掉 我们只是找 ...

  8. 「BZOJ2300」[HAOI2011] 防线修建

    传送门 操作离线之后倒着做,只有加点操作. 用set动态维护凸包即可. //Achen #include<algorithm> #include<iostream> #incl ...

  9. VS2010-MFC(对话框:创建对话框类和添加控件变量)

    转自:http://www.jizhuomi.com/software/153.html 前两讲中讲解了如何创建对话框资源.创建好对话框资源后要做的就是生成对话框类了.生成对话框类主要包括新建对话框类 ...

  10. Jeecg-Boot 2.0 版本发布,基于Springboot+Vue 前后端分离快速开发平台

    目录 Jeecg-Boot项目简介 源码下载 升级日志 Issues解决 v1.1升级到v2.0不兼容地方 系统截图 Jeecg-Boot项目简介 Jeecg-boot 是一款基于代码生成器的智能开发 ...