大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
有哪些实现javascript动态合并纵向单元格的方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
10年积累的网站制作、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先制作网站后付款的网站建设流程,更有沈阳免费网站建设让你可以放心的选择与我们合作。
1、需求
合并相邻行内容相同的单元格。
2.概念
rowspan指定单元格纵向跨越的行数。如rowspan被设为3,这表示该单元格必须跨越三行(本身一行,加上另外两行)
3.公共方法
/** * 单元格合并方法,增加rowspan属性 * @param data 要处理的数据 * @param nameList 合并的字段list */ function rowspanFun(data, nameList) { for (var i = 0; i < nameList.length; i++) { var name = nameList[i]; var startRow = 0; var endRow = data.length; var mergeNum = 1; if (endRow != 1) { for (var j = startRow; j < endRow; j++) { if (j == endRow - 1) { //判断是否是最后一个元素 if (startRow == endRow - 1) { data[j][name + 'Rowspan'] = 1; } } else { if (data[startRow][name] == data[j + 1][name]) { data[j + 1][name + 'Rowspan'] = 0; mergeNum = mergeNum + 1; data[startRow][name + 'Rowspan'] =mergeNum; } else { startRow = j + 1; if (mergeNum > 1) { data[startRow][name + 'Rowspan'] = 1; } else { data[j][name + 'Rowspan'] = 1; } mergeNum = 1; } } } } else { data[0][name + 'Rowspan'] = 1; } } return data; }
var data = [ {name: 'dwj', sex: '女', age: 20}, {name: 'dwj', sex: '男', age: 20}, {name: 'dwq', sex: '女', age: 20}, {name: 'other', sex: '女', age: 20} ]; rowspanFun(data, ['name', 'sex']);
调用方法后的数据处理结果
{{item.name}} | {{item.sex}} | {{item.age}} |
注意:此html代码使用的是ng语法,请根据自已使用的js框架自行调整。
看完上述内容,你们掌握有哪些实现javascript动态合并纵向单元格的方法的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!