如何合并表格中同一列内容相同的行??
JavaScript 如何合并table中一列中内容相同的行??
如:
原始表:
|---|---|---|---|---|
| A | B | C |100|150|
|---|---|---|---|---|
| A | B | D |200|250|
|---|---|---|---|---|
| A | E | C |100|150|
|---|---|---|---|---|
| A | E | D |120|250|
|---|---|---|---|---|
经过JS处理后的表
|---|---|---|---|---|
| | B | C |100|150|
| | |---|---|---|
| | | D |200|250|
| |---|---|---|---|
| A | | C |100|150|
| | |---|---|---|
| | E | D |120|250|
|---|---|---|---|---|
怎样实现如上的效果呢?
重复数据单元格自动向下合并(数据部份不合并).
如果原始表中的数据我是通过从查找数据库得到一个resultList
然后通过Struts的<logic:iterate>迭代得出来的,那可以实现合并在同一列中内容相同的行吗?
1 楼 cnng007 2007-10-28 <p><font>这是本人写的一个函数<br/>
function uniteSameCells(tableId,subjectIndex) {<br/>
? if(subjectIndex==null) {<br/>
???? subjectIndex=1;<br/>
? }<br/>
? var oTable = eval(tableId);<br/>
? var oTrs = oTable.rows;<br/>
? var lTr = oTrs.length;<br/>
? var subject = null;<br/>
? var subjectTd = null;<br/>
? var subjectStartIndex = -1;<br/>
? for(var i=0; i<lTr; i++) {<br/>
??? var oTds = oTrs[i].cells;<br/>
??? if(oTds.length>=subjectIndex) {<br/>
????? var tempSubject = oTds[subjectIndex-1].innerText;<br/>
????? if(subjectStartIndex==-1) {<br/>
??????? subjectTd = oTds[subjectIndex];//<br/>
??????? subject = tempSubject;//<br/>
??????? subjectStartIndex = i;?//<br/>
????? } else {<br/>
??????? if(subject==tempSubject) {<br/>
????????? //oTds[subjectIndex].innerText="";<br/>
????????? oTds[subjectIndex-1].removeNode(true);<br/>
??????? } else {<br/>
????????? //union the td<br/>
????????? subjectTd.rowSpan = i - subjectStartIndex;<br/>
????????? //<br/>
????????? subjectTd = oTds[subjectIndex-1];<br/>
????????? subject = tempSubject;<br/>
????????? subjectStartIndex = i;<br/>
??????? }<br/>
????? }<br/>
??? }<br/>
? }</font></p>
<p><font>? if(subjectStartIndex = -1) {<br/>
??? subjectTd.rowSpan = i - subjectStartIndex;<br/>
??? subjectTd = null;<br/>
??? subject = null;<br/>
??? subjectStartIndex = -1;<br/>
? }<br/>
}</font></p> 2 楼 ashee 2007-11-02 你的for()没有全 3 楼 pacer123 2007-11-16 楼主粗心大意,这个函数不报错才怪。