js合并单元格.html
- <!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/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>JS合并表格</title>
- <style>
- * {
- font-size:12px
- }
- table{ margin-top:5px;}
- .table1 {
- border-collapse:collapse;
- width:600px;
- border:1px solid #7A90A8;
- border-top:3px;
- }
- td {
- padding-left:3px;
- text-align:left;
- }
- caption{
- background:#9DACBF;
- font-weight:600;
- padding:4px;
- color:#FFF; }
- </style>
- </head>
- <body>
- <table id="ii" class="table1" border="1" align="center">
- <caption>2010年北京市医院分布情况</caption>
- <tr>
- <td>所在区</td>
- <td>二级医院数量</td>
- <td>三级医院数量</td>
- <td>三甲级医院数量</td>
- <td>四级医院数量</td>
- </tr>
- <tr>
- <td>海淀区</td>
- <td>8</td>
- <td>54</td>
- <td>14</td>
- <td>8</td>
- </tr>
- <tr>
- <td>海淀区</td>
- <td>15</td>
- <td>64</td>
- <td>36</td>
- <td>76</td>
- </tr>
- <tr>
- <td>朝阳区</td>
- <td>5</td>
- <td>64</td>
- <td>69</td>
- <td>23</td>
- </tr>
- <tr>
- <td>朝阳区</td>
- <td>17</td>
- <td>54</td>
- <td>43</td>
- <td>18</td>
- </tr>
- <tr>
- <td>朝阳区</td>
- <td>73</td>
- <td>35</td>
- <td>45</td>
- <td>72</td>
- </tr>
- </table>
- <script type="text/javascript">
- function tableSpan(tb1)
- {
- //合并行
- //列
- for(var i=tb1.rows[0].childNodes.length-1;i>=0;i--)
- {
- //行
- for(var j=tb1.rows.length-1;j>0;j--)
- {
- //当前单元格与上一单元格比较
- if(tb1.rows[j].childNodes[i].innerHTML==tb1.rows[j-1].childNodes[i].innerHTML)
- {
- tb1.rows[j-1].childNodes[i].rowSpan += tb1.rows[j].childNodes[i].rowSpan;
- tb1.rows[j].removeChild(tb1.rows[j].childNodes[i]);
- }
- }
- }
- //合并列
- //行
- for(var i=tb1.rows.length-1;i>=0;i--)
- { break;//不合并列
- //列
- for(var j=tb1.rows[i].childNodes.length-1;j>0;j--)
- {
- //当前单元格与左一单元格比较
- if(tb1.rows[i].childNodes[j].innerHTML==tb1.rows[i].childNodes[j-1].innerHTML)
- {
- tb1.rows[i].childNodes[j-1].colSpan += tb1.rows[i].childNodes[j].colSpan;
- tb1.rows[i].removeChild(tb1.rows[i].childNodes[j]);
- }
- }
- }
- }
- tableSpan(ii);
- </script>
- </body>
- </html>
合并效果,将所在区相邻且字符同的都合并了
2010年北京市医院分布情况
所在区 | 二级医院数量 | 三级医院数量 | 三甲级医院数量 | 四级医院数量 |
海淀区 | 8 | 54 | 14 | 8 |
15 | 64 | 36 | 76 | |
朝阳区 | 5 | 69 | 23 | |
17 | 54 | 43 | 18 | |
73 | 35 | 45 |
72
|
<!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/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档 </title>
</head>
<body>
<table width="100%" border="1" cellspacing="0" cellpadding="0" id="tab">
<tr>
<td>张三 </td>
<td>男 </td>
<td>22 </td>
<td>数学 </td>
<td>90 </td>
</tr>
<tr>
<td>张三 </td>
<td>男 </td>
<td>22 </td>
<td>数学 </td>
<td>90 </td>
</tr>
<tr>
<td>张三 </td>
<td>男 </td>
<td>22 </td>
<td>语文 </td>
<td>70 </td>
</tr>
<tr>
<td>张三 </td>
<td>女 </td>
<td>22 </td>
<td>英语 </td>
<td>60 </td>
</tr>
<tr>
<td>李四 </td>
<td>女 </td>
<td>22 </td>
<td>数学 </td>
<td>60 </td>
</tr>
<tr>
<td>李四 </td>
<td>女 </td>
<td>19 </td>
<td>语文 </td>
<td>60 </td>
</tr>
<tr>
<td>王五 </td>
<td>男 </td>
<td>19 </td>
<td>英语 </td>
<td>60 </td>
</tr>
</table>
<script type="text/javascript">
window.onload = function(){
var tab = document.getElementById("tab");
var maxCol = 3, val, count, start;
for(var col = maxCol-1; col >= 0 ; col--){
count = 1;
val = "";
for(var i=0; i<tab.rows.length; i++){
if(val == tab.rows[i].cells[col].innerHTML){
count++;
}else{
if(count > 1){ //合并
start = i - count;
tab.rows[start].cells[col].rowSpan = count;
for(var j=start+1; j<i; j++){
tab.rows[j].cells[col].style.display = "none";
}
count = 1;
}
val = tab.rows[i].cells[col].innerHTML;
}
}
if(count > 1 ){ //合并,最后几行相同的情况下
start = i - count;
tab.rows[start].cells[col].rowSpan = count;
for(var j=start+1; j<i; j++){
tab.rows[j].cells[col].style.display = "none";
}
}
}
};
</script>
</body>
</html>
相关推荐
类功能描述:该插件生成一个具有行合并的列表数据,合并例由开发者指定。 开发者提供已排序的数据列表以及需要合并行的列名即可,无需后端二次处理数据。 该类以纯原生JS编写,无需引入任何第三方库。 调用方法:...
`js自动合并相同单元格Demo`是一个关于如何在JavaScript中实现动态生成表格并自动合并相同单元格的示例。这个插件尤其适用于数据量较大且存在重复信息的场景,可以有效提升表格的可读性和美观性。 首先,我们要理解...
`jQuery.table.rowspan.js`是一个专为解决表格中单元格自动合并问题的jQuery插件。这个插件允许开发者在前端轻松处理复杂的表格布局,提高用户体验,同时也减轻了服务器端的计算压力。 ### 插件原理 `rowspan`属性...
通过这个"table-rowspan表格自动合并单元格插件",开发者可以轻松地实现复杂表格布局的动态管理,提升用户体验,同时减轻了手动调整表格的繁琐工作。这个插件的使用涉及到了HTML、CSS和JavaScript的综合应用,是前端...
在HTML文档中使用JavaScript来自动合并表格中相同行的单元格是一种常见的前端开发技术。这种技术可以提高页面的可读性,尤其是在处理具有相同值的重复数据时。上述代码示例提供了一种简单而有效的方法来实现这一功能...
为了解决这一问题,WPS Office提供了使用JavaScript(简称JS)宏编程的方式来自动化合并Excel文件的功能。本文将详细介绍一个基于WPS Excel的JS宏编写的文件合并工具,帮助用户提升工作效率。 首先,这个工具的核心...
- `table.js`:这是JavaScript文件,很可能包含了实现表格编辑和单元格自动合并的核心逻辑。用户可以通过阅读和分析这个文件来了解具体实现方法。 综合以上信息,这个资源对于想要学习Web表格编辑和单元格合并功能...
利用js合并table相同内容单元格并js方式自动生成,把文本内容复制进js中,应该就知道大概咋用了
另外,"2layui数据表格跨行自动合并 - 合并行.url" 和 "3layui 动态表格之合并单元格 - 合并列.url" 很可能是指向相关教程或示例的链接,分别指导如何实现跨行和跨列的合并。在跨列合并中,可能涉及到对每个单元格的...
在JavaScript或服务器端语言(如ASP.NET、PHP或Java)中,可以使用DOM解析库来遍历HTML表格,获取单元格的内容、样式信息,以及合并信息。对于合并单元格和合并行,这涉及到跟踪单元格的范围和行列索引,确保在Excel...
例如,如果你的列表有三列,但某些情况下需要将第一列和第二列合并,那么可以先生成不合并的表格,然后根据合并规则找到需要合并的单元格,设置其`colspan`属性。 在实际应用中,可能还会遇到一些复杂情况,如: 1...
富文本编辑器是一种常见的网页和应用中的文本输入组件,它允许用户在编辑环境中进行复杂的文本格式设置,如字体、字号、颜色、对齐方式等,同时支持插入图片、链接、表格等多种元素。在IT领域,富文本编辑器是构建...
当表格数据中存在相同参数时,我们可以将这些参数对应的单元格合并为一个,减少重复信息,增强视觉效果。下面我们将详细探讨如何操作。 1. **理解LayUI Table的基础使用** 在使用单元格合并功能前,我们需要了解...
在本项目中,"vue+elementUI实现动态表格合并单元格.zip" 提供了一个使用 Vue.js 框架和 Element UI 组件库构建的动态表格应用。Vue.js 是一款轻量级的前端JavaScript框架,它提供了响应式的数据绑定和组件化功能,...
本文将详细介绍如何使用JavaScript自动在表格前面增加序号。 首先,我们需要创建一个符合设计样式的表格。在CSS样式表中,我们定义了表格`.index_tab`的样式,包括宽度、边框合并、边框宽度、内边距以及外边距。...
在实际应用中,Vue.js的响应式特性使得表格内容的变化能够自动更新,因此,当数据源改变时,表格的拆分和合并也会相应地动态更新。此外,Vue的组件化设计允许我们将此功能封装为可复用的模块,提高代码的可维护性和...
可以通过设置`GridView.OptionsView.ShowGroups`为`true`来启用分组功能,然后对数据源进行分组操作,GridControl会自动合并相同值的行。如果需要自定义合并规则,可以重写`GridView.OnRowCellMerge`事件,根据需求...
SpreadJS是一个强大的JavaScript电子表格组件,它允许开发者在Web应用中实现类似于Excel的功能。 描述中的“spreadjs_包含合并列头的数据绑定-demo (1)”进一步强调了这个示例的主要特性,即数据绑定和合并列头。在...
- **动态数据处理**:在用户添加或删除行时自动合并单元格。 - **错误处理**:增加对无效输入的异常处理机制。 - **性能优化**:对于大型表格,考虑采用更高效的算法减少计算时间。 总之,通过上述代码解析,我们...
完成上述步骤后,运行代码,表格就会根据指定的列(这里是第一列的 `ENTERNAME` 字段)自动合并相同数据的单元格。你可以根据实际需求调整代码,以处理其他列或更多的合并逻辑。 在实际项目中,可能会有更多复杂的...