動態增刪表格行(純JS寫法) 歸檔javascript
進行表格下行的動態增長與刪除 html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>表格動態增刪樣例</title> <script type="text/javascript" src="dynamic_table.js"></script> </head> <body> <TABLE id="actiHotTable" style="BORDER-RIGHT: #ff6600 1px dashed; BORDER-TOP: #ff6600 1px dashed; BORDER-LEFT: #ff6600 1px dashed; BORDER-BOTTOM: #ff6600 1px dashed; BORDER-COLLAPSE: collapse" borderColor=#000000 height=40 cellPadding=1 width=80% align=center border=1> <THEAD> <TR> <TH style="width:2%;" title="序號">序號</TH> <TH style="width:2%;" title="營銷活動名稱">營銷活動名稱</TH> <TH style="width:2%;" title=接入號碼>標籤</TH> <TH style="width:2%;" title=對象名稱>操做</TH> </TR> </THEAD> <tbody> <TR> <TD><input TYPE="text" NAME="hotSeq" ID="hotSeq" readonly="readonly" /></TD> <TD><input TYPE="input" NAME="actionName" value="" /> <input TYPE="hidden" NAME="actionId" value="" /> <button type="button" id="chooseAction" name="chooseAction" <TD> <select name="hotType"> <option value="NEW">NEW</option> <option value="HOT">HOT</option> </select> </TD> <TD> <button type="button" id="add_hot_config" name="add_hot_config" <button type="button" id="del_hot_config" name="del_hot_config" </TD> </TR> </tbody> </TABLE> </body> </html>
dynamic_table.js dynamic_table.js[javascript] view plaincopyprint?/** * 增長一行 * @param obj */ function addRow(obj){ var appendRow = obj.parentNode.parentNode; //把其中的營銷活動名稱清除 var clonedRow=appendRow.cloneNode(true); var inputs=clonedRow.cells[1].getElementsByTagName("INPUT"); for(var i=0;i<inputs.length;i++){ inputs[i].value=''; } //obj.parentNode.parentNode.parentNode.appendChild(clonedRow);//加在table後面 //指定加在table的指定行的後面 obj.parentNode.parentNode.parentNode.insertBefore(clonedRow,appendRow.nextSibling); reSort(); } /** * 刪除一行 * @param obj */ function deleteRow(obj){ var tableRowLenth=obj.parentNode.parentNode.parentNode.rows.length; if(tableRowLenth>1){ var delNode=obj.parentNode.parentNode; delNode.parentNode.removeChild(obj.parentNode.parentNode); }else{ alert('沒有可刪除的行!'); } reSort(); } /** * 進行排序 */ function reSort(){ var oTBODY = document.getElementById('actiHotTable').tBodies.item(0); var rowsCount = oTBODY.rows.length; for(var i=0;i<rowsCount;i++){ oTBODY.rows[i].cells[0].childNodes[0].value=i+1; // alert(oTBODY.rows[i].cells[0].childNodes[0].id); // oTBODY.rows[i].cells[0].childNodes[0].id='sortId_'+i; // alert(oTBODY.rows[i].cells[0].childNodes[0].id); } } /** * 進行選擇 * @param obj */ function chooseActiAction(obj){ var url='choose.jsp'; var returnValue = window.showModalDialog(url,'target',"scroll:yes;resizable:no;status:no;help:no;dialogHeight:350px;dialogWidth:800px"); if(typeof(returnValue)=='undefined'){ return; } var returnArray= returnValue.split(","); if(returnArray.length>1){ var tags=obj.parentNode.getElementsByTagName("INPUT"); tags[0].value=returnArray[0]; tags[1].value=returnArray[1]; } }