JQuery实现表格中相同单元格合并示例代码_jquery

代码:

复制代码 代码如下:

<!DOCTYPE html>
<html>
<head>
<title>merge.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="css/jquery-ui.css" />
<script src="js/jquery.js"></script>
<script src="js/jquery-ui.js"></script>
<script type="text/javascript">
function merge1(){ //可实现单元格,通过给 开始cell的比较
var totalRow = $("#tbl").find("tr").length;
var totalCol = $("#tbl").find("tr").eq(0).find("td").length;
for(var col=totalCol-1;col>=1;col--){
spanNum =1;
startCell = $("#tbl").find("tr").eq(totalRow-1).find("td").eq(col);
for(var row = totalRow-1;row>=1;row--){
targetCell = $("#tbl").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;
}
}
}
function merge2() { //可实现合并单元格,上下行来比较
var totalCols = $("#tbl").find("tr:eq(0)").find("td").length;
var totalRows = $("#tbl").find("tr").length;
for ( var i = totalCols-1; i >= 1; i--) {
for ( var j = totalRows-1; j >= 1; j--) {
startCell = $("#tbl").find("tr").eq(j).find("td").eq(i);
targetCell = $("#tbl").find("tr").eq(j - 1).find("td").eq(i);
if (startCell.text() == targetCell.text() && targetCell.text() != "") {
targetCell.attr("rowSpan", (startCell.attr("rowSpan")==undefined)?2:(eval(startCell.attr("rowSpan"))+1));
startCell.remove();
}
}
}
}
/*先合并,使用style 的display:none将相同元素隐藏,然后再remove
*/
function merge3(){
var totalCols = $("#tbl").find("tr:eq(0)").find("td").length;
var totalRows = $("#tbl").find("tr").length;
for(var col=totalCols-1;col>=1;col--){
spanNum =1;
startCell = $("#tbl").find("tr").eq(totalRows-1).find("td").eq(col);
for(var row = totalRows-1;row>=1;row--){
targetCell = $("#tbl").find("tr").eq(row-1).find("td").eq(col);
if(startCell.text() == targetCell.text() && startCell.text()!=""){
spanNum++;
targetCell.attr("rowSpan",spanNum);
startCell.attr("style","visibility:hidden");
// startCell.attr("style","display:none");
}else{
spanNum =1;
}
startCell = targetCell;
}
}
for(var j=totalCols-1;j>=1;j--){
for(var i=totalRows-1;i>=1;i--){
cell = $("#tbl").find("tr").eq(i).find("td").eq(j);
if(cell.attr("style")!=undefined){
if(cell.attr("style")=="visibility:hidden"){
cell.remove();
}
}
}
}
}
function merge4(){ //与merge3方法类似,目的是看一下 display:none与visibility:hidden的效果区别
var totalCols = $("#tbl").find("tr:eq(0)").find("td").length;
var totalRows = $("#tbl").find("tr").length;
for(var col=totalCols-1;col>=1;col--){
spanNum =1;
startCell = $("#tbl").find("tr").eq(totalRows-1).find("td").eq(col);
for(var row = totalRows-1;row>=1;row--){
targetCell = $("#tbl").find("tr").eq(row-1).find("td").eq(col);
if(startCell.text() == targetCell.text() && startCell.text()!=""){
spanNum++;
targetCell.attr("rowSpan",spanNum);
startCell.attr("style","display:none");
// startCell.attr("style","display:none");
}else{
spanNum =1;
}
startCell = targetCell;
}
}
for(var j=totalCols-1;j>=1;j--){
for(var i=totalRows-1;i>=1;i--){
cell = $("#tbl").find("tr").eq(i).find("td").eq(j);
if(cell.attr("style")!=undefined){
if(cell.attr("style")=="display:none"){
cell.remove();
}
}
}
}
}
</script>
</head>
<body>
<table id="tbl" cellpadding="3" border=1>
<thead>
<tr>
<td>销售时间</td>
<td>裙子</td>
<td>裤子</td>
<td>风衣</td>
<td>鞋子</td>
</tr>
</thead>
<tbody>
<tr>
<td>8:00-9:00</td>
<td>3</td>
<td></td>
<td>4</td>
<td></td>
</tr>
<tr>
<td>9:00-10:00</td>
<td>3</td>
<td>2</td>
<td>5</td>
<td>3</td>
</tr>
<tr>
<td>10:00-11:00</td>
<td>3</td>
<td>2</td>
<td></td>
<td>1</td>
</tr>
<tr>
<td>11:00-12:00</td>
<td></td>
<td></td>
<td></td>
<td>1</td>
</tr>
</tbody>
</table>
<input type="button" value="合并" id="merge" onclick="merge2();">
</body>
</html>

总结:在使用remove的时候,一定要注意如果 从list的开始元素循环下去,remove掉一个元素后,有些元素就找不到了或者说不是要找的那个元素;最好是从后面开始循环。

时间: 2024-09-30 08:43:27

JQuery实现表格中相同单元格合并示例代码_jquery的相关文章

JQuery实现表格中相同单元格合并示例代码

一定要注意如果从list的开始元素循环下去,remove掉一个元素后,有些元素就找不到了或者说不是要找的那个元素,感兴趣的各位可以研究下哈   代码: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <title>merge.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3&

怎么修改WPS表格中的单元格网格线颜色

  怎么修改WPS表格中的单元格网格线颜色 1.打开工作簿,单击"WPS表格-选项"按钮,如下图所示. 2.弹出"选项"对话框,在"视图"选项中设置"网格线颜色",选的是"红色",然后单击"确定",如下图. 3.确定后,线条颜色就改成了红色,挺好看的,如下效果图.

Win7下wps表格中禁止单元格输入重复数值的设置方法

  Wps是一款办公软件,一些用户需要经常使用wps制作一些数据资料,比如学号.员工编号等,而这些数据都有着不能重复的特点,那么要如何禁止在wps的表格中输入重复数值呢?其实只要简单设置一下就可以了,下面跟大家带来Win7下在wps表格中禁止单元格输入重复数值的设置方法如下. 1.首先我们打开win7系统下WPS软件表格软件,并新建一个表格.   2.选中需要输入数值的行或列,在此小编以选择B列为例进行讲解.大家可以根据自己的表格输入的需要进行选择.   3.选择后点击"重复项";  

代码-我在dreamweavercs5中对这个表格中的单元格,设置margin,为什么无效,请赐教

问题描述 我在dreamweavercs5中对这个表格中的单元格,设置margin,为什么无效,请赐教 图片显示如下: 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/19

excel 单元格 重复-如何删除excel表格中不同单元格重复出现的部分内容

问题描述 如何删除excel表格中不同单元格重复出现的部分内容 如何删除excel表格中不同单元格重复出现的部分内容,如下图,第六行中出现的"克制,克制..."在第七和第八行中也都有出现,想请问一下大家如果去掉第七和第八行中的出现的第六行的内容,保留不相同的内容,因为数据很多,这样的情况出现了很多次,用替换功能也不可行,想问一下大家还有什么好办法没有 解决方案 在第六行加一个特殊的标点或者其他字符,然后替换的方式删掉其他其他地方的重复字符,让后再删除特殊字符就可以了!

在Word 2007表格中选中单元格

选中特定单元格是Word2007表格的基本操作,在设置单元格格式等操作时首 先需要选中单元格.在Word2007中选中单元格的方法如下所述: 打开Word2007文档窗口,将鼠标指针移动到准备选中的单元格内部左侧位置 .当鼠标指针呈黑色箭头形状时,单击鼠标左键即可选中当前单元格.如果在鼠 标指针呈黑色箭头形状时拖动鼠标,则可以选中连续多个单元格,如图 2009010808所示. 图2009010808 选中单元格 用户还可以在单击准备选中的单元格后,在"表格工具"功能区 的"

求教,用C#如何修改excel表格中指定单元格中的数据?

问题描述 比如已经有了一个二维数组{1,5,5,7,22,7,7,8,6h,f,r,f,d}想把它以表中H9单元格开头,一行一行的放进去,最后结果:应该怎么写代码?不知道sql能不能用,还是用range,还是用其它办法? 解决方案 解决方案二:都可以,修改用range来得方便些吧,指定的单元格赋一个值就可解决方案三:告诉你一个用aspose.cell的方法try{Workbookworkbook=newWorkbook(Application.StartupPath+"\扫描结果.xls&quo

在Word 2007表格中删除单元格

在Word2007文档表格中,用户可以删除某个特定的单元格.删除单元格操作 可以通过两种方式进行,分别介绍如下: 方式1:打开Word2007文档窗口,右键单击准备删除的单元格.在打开的快捷 菜单中选择"删除单元格"命令,如图2009011205所示. 图2009011205 选择"删除单元格"命令 在打开的"删除单元格"对话框中,如果选中"右侧单元格 左移"单选框,则删除当前单元格:如果选中"下方单元格上移 &qu

如何在Word 2007表格中拆分单元格

在Word2007文档表格中,通过使用"拆分单元格"功能可以将一 个单元格拆分成两个或多个单元格.通过拆分单元格可以制作比较复杂的多功能 表格,用户可以在Word2007文档表格中通过两种方式拆分单元格,分别简述如下 . 方式1:打开Word2007文档窗口,在Word表格中右键单击准备拆分的单元格, 并在打开的快捷菜单中选择"拆分单元格"命令,如图2009011401所 示. 图2009011401 选择"拆分单元格"命令 在打开的"