当前位置:Gxlcms > JavaScript > js实现table添加行tr、删除行tr、清空行tr的简单实例

js实现table添加行tr、删除行tr、清空行tr的简单实例

时间:2021-07-01 10:21:17 帮助过:4人阅读

如下所示:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <TITLE> New Document </TITLE>
  5. <META NAME="Generator" CONTENT="EditPlus">
  6. <META NAME="Author" CONTENT="">
  7. <META NAME="Keywords" CONTENT="">
  8. <META NAME="Description" CONTENT="">
  9. <script language="javascript">// Example: obj = findObj("image1");
  10. function findObj(theObj, theDoc)
  11. {
  12. var p, i, foundObj;
  13. if(!theDoc) theDoc = document;
  14. if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
  15. { theDoc = parent.frames[theObj.substring(p+1)].document; theObj = theObj.substring(0,p); } if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj]; for (i=0; !foundObj && i < theDoc.forms.length; i++) foundObj = theDoc.forms[i][theObj]; for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) foundObj = findObj(theObj,theDoc.layers[i].document); if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj); return foundObj;
  16. }
  17. //添加一个参与人填写行
  18. function AddSignRow(){ //读取最后一行的行号,存放在txtTRLastIndex文本框中
  19. var txtTRLastIndex = findObj("txtTRLastIndex",document);
  20. var rowID = parseInt(txtTRLastIndex.value);
  21. var signFrame = findObj("SignFrame",document);
  22. //添加行
  23. var newTR = signFrame.insertRow(signFrame.rows.length);
  24. newTR.id = "SignItem" + rowID;
  25. //添加列:序号
  26. var newNameTD=newTR.insertCell(0);
  27. //添加列内容
  28. newNameTD.innerHTML = newTR.rowIndex.toString();
  29. //添加列:姓名
  30. var newNameTD=newTR.insertCell(1);
  31. //添加列内容
  32. newNameTD.innerHTML = "<input name='txtName" + rowID + "' id='txtName" + rowID + "' type='text' size='12' />";
  33. //添加列:电子邮箱
  34. var newEmailTD=newTR.insertCell(2);
  35. //添加列内容
  36. newEmailTD.innerHTML = "<input name='txtEMail" + rowID + "' id='txtEmail" + rowID + "' type='text' size='20' />";
  37. //添加列:电话
  38. var newTelTD=newTR.insertCell(3);
  39. //添加列内容
  40. newTelTD.innerHTML = "<input name='txtTel" + rowID + "' id='txtTel" + rowID + "' type='text' size='10' />";
  41. //添加列:手机
  42. var newMobileTD=newTR.insertCell(4);
  43. //添加列内容
  44. newMobileTD.innerHTML = "<input name='txtMobile" + rowID + "' id='txtMobile" + rowID + "' type='text' size='12' />";
  45. //添加列:公司名
  46. var newCompanyTD=newTR.insertCell(5);
  47. //添加列内容
  48. newCompanyTD.innerHTML = "<input name='txtCompany" + rowID + "' id='txtCompany" + rowID + "' type='text' size='20' />";
  49. //添加列:删除按钮
  50. var newDeleteTD=newTR.insertCell(6);
  51. //添加列内容
  52. newDeleteTD.innerHTML = "<div align='center' style='width:40px'><a href='javascript:;' onclick=\"DeleteSignRow('SignItem" + rowID + "')\">删除</a></div>";
  53. //将行号推进下一行
  54. txtTRLastIndex.value = (rowID + 1).toString() ;
  55. }
  56. //删除指定行
  57. function DeleteSignRow(rowid){
  58. var signFrame = findObj("SignFrame",document);
  59. var signItem = findObj(rowid,document);
  60. alert(rowid);
  61. //获取将要删除的行的Index
  62. var rowIndex = signItem.rowIndex;
  63. //删除指定Index的行
  64. signFrame.deleteRow(rowIndex);
  65. //重新排列序号,如果没有序号,这一步省略
  66. for(i=rowIndex;i<signFrame.rows.length;i++){
  67. signFrame.rows[i].cells[0].innerHTML = i.toString();
  68. }
  69. }
  70. //清空列表
  71. function ClearAllSign(){
  72. if(confirm('确定要清空所有参与人吗?')){
  73. var signFrame = findObj("SignFrame",document);
  74. var rowscount = signFrame.rows.length;
  75. //循环删除行,从最后一行往前删除
  76. for(i=rowscount - 1;i > 0; i--){
  77. signFrame.deleteRow(i);
  78. }
  79. //重置最后行号为1
  80. var txtTRLastIndex = findObj("txtTRLastIndex",document);
  81. txtTRLastIndex.value = "1";
  82. //预添加一行
  83. AddSignRow();
  84. }
  85. }
  86. </script>
  87. </HEAD>
  88. <BODY>
  89. <div>
  90. <table width="613" border="0" cellpadding="2" cellspacing="1" id="SignFrame">
  91. <tr id="trHeader">
  92. <td width="27" bgcolor="#96E0E2">序号</td>
  93. <td width="64" bgcolor="#96E0E2">用户姓名</td>
  94. <td width="98" bgcolor="#96E0E2">电子邮箱</td>
  95. <td width="92" bgcolor="#96E0E2">固定电话</td>
  96. <td width="86" bgcolor="#96E0E2">移动手机</td>
  97. <td width="153" bgcolor="#96E0E2">公司名称</td>
  98. <td width="57" align="center" bgcolor="#96E0E2"> </td>
  99. </tr>
  100. </table>
  101. </div>
  102. <div>
  103. <input type="button" name="Submit" value="添加参与人" onclick="AddSignRow()" />
  104. <input type="button" name="Submit2" value="清空" onclick="ClearAllSign()" />
  105. <input name='txtTRLastIndex' type='hidden' id='txtTRLastIndex' value="1" />
  106. </div>
  107. </BODY>
  108. </HTML>

删除行 用下面的方法比较好……

  1. <html>
  2. <head>
  3. <title>1</title>
  4. <script>
  5. //得到行对象
  6. function getRowObj(obj)
  7. {
  8. var i = 0;
  9. while(obj.tagName.toLowerCase() != "tr"){
  10. obj = obj.parentNode;
  11. if(obj.tagName.toLowerCase() == "table")return null;
  12. }
  13. return obj;
  14. }
  15. //根据得到的行对象得到所在的行数
  16. function getRowNo(obj){
  17. var trObj = getRowObj(obj);
  18. var trArr = trObj.parentNode.children;
  19. for(var trNo= 0; trNo < trArr.length; trNo++){
  20. if(trObj == trObj.parentNode.children[trNo]){
  21. alert(trNo+1);
  22. }
  23. }
  24. }
  25. //删除行
  26. function delRow(obj){
  27. var tr = this.getRowObj(obj);
  28. if(tr != null){
  29. tr.parentNode.removeChild(tr);
  30. }else{
  31. throw new Error("the given object is not contained by the table");
  32. }
  33. }
  34. </script>
  35. </head>
  36. <body>
  37. <table border = "1">
  38. <tr>
  39. <td>A<input type="button" value="A" onclick="getRowNo(this)">getRowNo<td>
  40. </tr>
  41. <tr>
  42. <td>B<input type="button" value="B" onclick="delRow(this)">delRow<td>
  43. </tr>
  44. <tr>
  45. <td>C<input type="button" value="C" onclick="getRowNo(this)">getRowNo</td>
  46. </tr>
  47. <tr>
  48. <td>D<input type="button" value="D" onclick="getRowNo(this)">getRowNo</td>
  49. </tr>
  50. </table>
  51. </body>
  52. <html>

以上就是小编为大家带来的js实现table添加行tr、删除行tr、清空行tr的简单实例全部内容了,希望大家多多支持PHP中文网~

更多js实现table添加行tr、删除行tr、清空行tr的简单实例相关文章请关注PHP中文网!

人气教程排行