1. 程式人生 > >JSP頁面動態生成表格併為表格新增事件(續)

JSP頁面動態生成表格併為表格新增事件(續)

var data = "張三,男,11;李四,男,12;王五,女,21;千龍,女,22;";//在實際中的資料可能從資料庫查詢 var datInfo = data.split(";");//分隔一次,變成一個一維陣列 //給表格動態新增 行 事件 function tr_click(){ var oObj = window.event.srcElement;//在下面呼叫這個方法時便可以不用傳this了 //可以選擇不同的貸款記錄 if(oObj.tagName.toLowerCase() == "td"
){ var oTr = oObj.parentNode; //document.all.table1.rows.length;//總的表格行數(包括表頭) for(var i=1; i<document.all.table1.rows.length; i++){//table1:表格的Id document.all.table1.rows[i].style.backgroundColor = ""; document.all.table1.rows[i].tag = false
; } oTr.style.backgroundColor = "#F5DEB3"; oTr.tag = true; alert(oTr.getElementsByTagName("td")[0].innerHTML); // alert(oTr.innerText);//得到整行的資訊 } } //滑鼠移動到選擇行上時的行變色 function over(){ var
oObj = event.srcElement; if(oObj.tagName.toLowerCase() == "td"){ var oTr = oObj.parentNode; if(!oTr.tag) oTr.style.backgroundColor = "#E1E9FD"; } } //滑鼠移出另外一行時關閉已選行變色 function out() { var oObj = event.srcElement; if(oObj.tagName.toLowerCase() == "td"){ var oTr = oObj.parentNode; if(!oTr.tag) oTr.style.backgroundColor = ""; } } function toTable(rowCounts,colCounts,datInfo){ var textHTML = '<table id="table1" cellpadding="0" cellspacing="0" border="1" width="98%">'; textHTML+='<tr align="center"><td align="center">姓名</td><td align="center">年齡</td><td>性別</td></tr>'; for(var i=0; i<rowCounts; i++){ textHTML += '<tr align="center" height="30" onclick="tr_click()" onMouseOver="over()" onMouseOut="out()">';//為每一行新增點選事件 for(var j=0; j<colCounts; j++){ //datInfo[i].split(",")把一維陣列再次分隔變成二維陣列,二維陣列的每一維對應表格的每一行,不明白可以用alert彈出一下就知道了 textHTML += "<td>" + (datInfo[i].split(","))[j] + "</td>"; } } textHTML += "</tr></table>"; document.getElementById("testTable").innerHTML = textHTML; }