This is one way to make it possible to highlight rows and cols in a table with an intersecting color
[CODE=javascript]
<script>
/* Javascript written by iam_clint */
vertColor="#66f fcc";
horzColor="#b7e fff";
intersectColor= "#aa22f0";
function vertClick(col, tbl) {
var color="";
var blnColSpan = false;
var table = document.getEle mentById(tbl);
var entireRow=table .getElementsByT agName("tr");
for (i=0; i<entireRow.len gth; i++) {
curEle = entireRow[i].getElementsByT agName("td")[col];
for (b=0; b<entireRow[i].getElementsByT agName("td").le ngth; b++) {
colspan = entireRow[i].getElementsByT agName("td")[b].getAttribute(" colspan");
if (colspan!=null && colspan!=1) { blnColSpan = true; }
}
if (!blnColSpan) {
if (typeof(curEle) =="object") {
if (curEle.getAttr ibute("vert")== null || curEle.getAttri bute("vert")==" false") { curEle.setAttri bute("vert", "true"); color = vertColor; } else { curEle.setAttri bute("vert", "false"); color=""; }
if (curEle.getAttr ibute("horz")== "true" && curEle.getAttri bute("vert")==" true") { curEle.style.ba ckgroundColor=i ntersectColor; } else if (curEle.getAttr ibute("vert")== "false" && curEle.getAttri bute("horz")==" true") { curEle.style.ba ckgroundColor=h orzColor; } else { curEle.style.ba ckgroundColor=c olor; }
}
}
blnColSpan = false;
}
}
function horzClick(row, tbl) {
var color="";
var table = document.getEle mentById(tbl);
var entireRow=table .getElementsByT agName("tr")[row-1];
var tds = entireRow.getEl ementsByTagName ("td");
for (i=1; i<tds.length; i++) {
curEle = tds[i];
if (curEle.getAttr ibute("horz")== null || curEle.getAttri bute("horz")==" false") { curEle.setAttri bute("horz", "true"); color = horzColor; } else { curEle.setAttri bute("horz", "false"); color=""; }
if (curEle.getAttr ibute("vert")== "true" && curEle.getAttri bute("horz")==" true") { curEle.style.ba ckgroundColor=i ntersectColor; } else if (curEle.getAttr ibute("vert")== "true" && curEle.getAttri bute("horz")==" false") { curEle.style.ba ckgroundColor = vertColor; } else { curEle.style.ba ckgroundColor = color; }
}
}
</script>
<STYLE>
tr { cursor: pointer; }
table { border-collapse: collapse; width: 100%; height: 100%;}
</STYLE>
<table border=1>
<tbody id="example">
<tr><td onclick="horzCl ick('1', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('2', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('3', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('4', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('5', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('6', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('7', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('8', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('9', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('10', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('11', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('12', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('13', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('14', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('15', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
</tbody>
</table>
[/CODE]
[CODE=javascript]
<script>
/* Javascript written by iam_clint */
vertColor="#66f fcc";
horzColor="#b7e fff";
intersectColor= "#aa22f0";
function vertClick(col, tbl) {
var color="";
var blnColSpan = false;
var table = document.getEle mentById(tbl);
var entireRow=table .getElementsByT agName("tr");
for (i=0; i<entireRow.len gth; i++) {
curEle = entireRow[i].getElementsByT agName("td")[col];
for (b=0; b<entireRow[i].getElementsByT agName("td").le ngth; b++) {
colspan = entireRow[i].getElementsByT agName("td")[b].getAttribute(" colspan");
if (colspan!=null && colspan!=1) { blnColSpan = true; }
}
if (!blnColSpan) {
if (typeof(curEle) =="object") {
if (curEle.getAttr ibute("vert")== null || curEle.getAttri bute("vert")==" false") { curEle.setAttri bute("vert", "true"); color = vertColor; } else { curEle.setAttri bute("vert", "false"); color=""; }
if (curEle.getAttr ibute("horz")== "true" && curEle.getAttri bute("vert")==" true") { curEle.style.ba ckgroundColor=i ntersectColor; } else if (curEle.getAttr ibute("vert")== "false" && curEle.getAttri bute("horz")==" true") { curEle.style.ba ckgroundColor=h orzColor; } else { curEle.style.ba ckgroundColor=c olor; }
}
}
blnColSpan = false;
}
}
function horzClick(row, tbl) {
var color="";
var table = document.getEle mentById(tbl);
var entireRow=table .getElementsByT agName("tr")[row-1];
var tds = entireRow.getEl ementsByTagName ("td");
for (i=1; i<tds.length; i++) {
curEle = tds[i];
if (curEle.getAttr ibute("horz")== null || curEle.getAttri bute("horz")==" false") { curEle.setAttri bute("horz", "true"); color = horzColor; } else { curEle.setAttri bute("horz", "false"); color=""; }
if (curEle.getAttr ibute("vert")== "true" && curEle.getAttri bute("horz")==" true") { curEle.style.ba ckgroundColor=i ntersectColor; } else if (curEle.getAttr ibute("vert")== "true" && curEle.getAttri bute("horz")==" false") { curEle.style.ba ckgroundColor = vertColor; } else { curEle.style.ba ckgroundColor = color; }
}
}
</script>
<STYLE>
tr { cursor: pointer; }
table { border-collapse: collapse; width: 100%; height: 100%;}
</STYLE>
<table border=1>
<tbody id="example">
<tr><td onclick="horzCl ick('1', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('2', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('3', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('4', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('5', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('6', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('7', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('8', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('9', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('10', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('11', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('12', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('13', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('14', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
<tr><td onclick="horzCl ick('15', 'example');">Te st1<td onclick="vertCl ick('1', 'example');">Te st2<td onclick="vertCl ick('2', 'example');">Te st3<td onclick="vertCl ick('3', 'example');">Te st4<td onclick="vertCl ick('4', 'example');">Te st5<td onclick="vertCl ick('5', 'example');">Te st6
</tbody>
</table>
[/CODE]
Comment