<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<body onload="autoRowSpan1(tb,1,1)">
<table id="tb" border="1">
<thead>
<tr>
<td align="center">序號</td>
<td>國家</td>
<td>地區(qū)</td>
</tr>
</thead>
<tr>
<td align="center">1</td>
<td>中國</td>
<td>河南</td>
</tr>
<tr>
<td align="center">3</td>
<td>中國</td>
<td>北京</td>
</tr>
<tr>
<td align="center">4</td>
<td>美國</td>
<td>紐約</td>
</tr>
<tr>
<td align="center">5</td>
<td>美國</td>
<td>洛杉磯</td>
</tr>
<tr>
<td align="center">6</td>
<td>英國</td>
<td>倫敦</td>
</tr>
<tr>
<td align="center">2</td>
<td>中國</td>
<td>四川</td>
</tr>
</table>
<script>
function autoRowSpan1(tb,row,col) {
var lastValue="";
var value="";
var pos=1;
var increase = 0;
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;
//合并序列行
tb.rows[i].deleteCell(col-1);
tb.rows[i-pos].cells[col-1].rowSpan = tb.rows[i-pos].cells[col-1].rowSpan+1;
pos++;
}else{
lastValue = value;
pos=1;
//合并序列行
if(i==1){
tb.rows[1].cells[0].innerText=1;
}else{
increase++;
tb.rows[i].cells[col-1].innerText= parseInt(tb.rows[1].cells[0].innerText)+parseInt(increase);
}
}
}
}
</script>
</body>
</html>
期望: 第二列 只出現(xiàn)一個中國 ;中國包含 河南,北京,四川這種效果
$(document).ready(function () {
var Country = function (name,cities) {
this.name = name;
this.cities = cities;
};
var countries = [];
countries.get = function (name) {
for(var i = 0; i < this.length; i++) {
if(this[i].name == name) {
return this[i];
}
}
return null;
};
countries.add = function (name,city_name) {
var country = this.get(name);
if(country) {
country.cities.push(city_name);
} else {
country = new Country(name,new Array(city_name));
countries.push(country);
}
};
$("#table tbody tr").each(function () {
var tds = $(this).find("td");
var name = tds[1].innerHTML;
var city_name = tds[2].innerHTML;
countries.add(name,city_name);
});
$("#table tbody tr").remove();
var str = "";
for(var i =0; i < countries.length; i++) {
var name = countries[i].name;
var cities = countries[i].cities;
var len = cities.length;
for(var j =0 ;j < len; j++) {
if(j == 0) {
str += "<tr><td rowspan='"+len+"'>"+(i+1)+"</td><td rowspan='"+len+"'>"+name+"</td><td>"+cities[j]+"</td></tr>";
} else {
str += "<tr><td>"+cities[j]+"</td></tr>";
}
}
}
$("#table tbody").append(str);
});<head>
<meta charset="UTF-8">
<title></title>
</head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<body onload="autoRowSpan1(tb,1,1)">
<table id="tb" border="1">
<thead>
<tr>
<td align="center">序號</td>
<td>國家</td>
<td>地區(qū)</td>
</tr>
</thead>
<tr>
<td align="center">1</td>
<td>中國</td>
<td>河南</td>
</tr>
<tr>
<td align="center">3</td>
<td>中國</td>
<td>北京</td>
</tr>
<tr>
<td align="center">4</td>
<td>美國</td>
<td>紐約</td>
</tr>
<tr>
<td align="center">5</td>
<td>美國</td>
<td>洛杉磯</td>
</tr>
<tr>
<td align="center">6</td>
<td>英國</td>
<td>倫敦</td>
</tr>
<tr>
<td align="center">2</td>
<td>中國</td>
<td>四川</td>
</tr>
</table>
<script>
function autoRowSpan1(tb,row,col) {
var rows = findSameRows( tb,row,col );
deleteRows(tb);
createRows(tb,rows);
}
function deleteRows(tb){
for(var i=tb.rows.length-1;i>=1;--i){
tb.deleteRow(i);
}
}
function findSameRows(tb,row,col){
var map = {};
for(var i=row;i<tb.rows.length;i++){
var value = tb.rows[i].cells[col].innerText;
if(value in map){
map[value].push( tb.rows[i].cells[col+1].innerText );
}else{
map[value] = [tb.rows[i].cells[col+1].innerText];
}
}
return map;
}
function createRows(tb,rows){
var start = 1;
var index = 1;
for(var key in rows){
var cols = rows[key];
var first = true;
for(var i =0; i < cols.length; ++i){
var row = tb.insertRow(index++);
var cell;
if(first){
first = false;
cell = row.insertCell(0);
cell.rowSpan=cols.length;
cell.innerHTML = start;
cell = row.insertCell(1);
cell.rowSpan=cols.length;
cell.innerHTML = key;
cell = row.insertCell(2);
cell.innerHTML = cols[i];
}else{
cell = row.insertCell(0);
cell.innerHTML = cols[i];
}
}
++start;
}
}
</script>
</body>
屏幕快照 2018-06-29 下午11.04.14
話說這個年代,還是用點vue之類的現(xiàn)代化工具吧
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。