1. <table cellpadding="0" cellspacing="0" border="1" style="margin:auto; width:96%;" id="LearnInfoItem">
  2. <tr >
  3. <td colspan="8" bgcolor="#96E0E2" style="height:30px;" ><h3 style="text-align:center; margin:0;">主要学习简历</h3></td>
  4. </tr>
  5. <tr id="tr1">
  6. <td class="tdStyle2">起讫时间 </td>
  7.  
  8. <td class="tdStyle2">毕业院校</td>
  9.  
  10. <td class="tdStyle2">所学专业</td>
  11.  
  12. <td class="tdStyle2">学制</td>
  13.  
  14. <td class="tdStyle2">学位</td>
  15.  
  16. <td class="tdStyle2">学习方式</td>
  17.  
  18. <td class="tdStyle2">文化程度</td>
  19.  
  20. <td class="tdStyle2">
  21. <input type="button" name="LearnAdd" value="添加" onclick="LearnAddSignRow()" />
  22. <input name='LearnTRLastIndex' type='hidden' id='LearnTRLastIndex' value="1" />
  23. </td>
  24.  
  25. </tr>
  26. </table>

javascript代码:

  1. <script language="javascript" type="text/javascript">// Example: obj = findObj("image1");
  2.  
  3. function findObj(theObj, theDoc)
  4. {
  5. var p, i, foundObj;
  6. if(!theDoc) theDoc = document;
  7. if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
  8. {
  9. theDoc = parent.frames[theObj.substring(p+1)].document;
  10. theObj = theObj.substring(0,p);
  11. }
  12. if(!(foundObj = theDoc[theObj]) && theDoc.all)
  13. foundObj = theDoc.all[theObj];
  14. for (i=0; !foundObj && i < theDoc.forms.length; i++)
  15. foundObj = theDoc.forms[i][theObj];
  16. for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++)
  17. foundObj = findObj(theObj,theDoc.layers[i].document);
  18. if(!foundObj && document.getElementById)
  19. foundObj = document.getElementById(theObj);
  20. return foundObj;
  21. }
  22.  
  23. //添加一行学习简历
  24. function LearnAddSignRow(){ //读取最后一行的行号,存放在LearnTRLastIndex文本框中
  25.  
  26. var LearnTRLastIndex = findObj("LearnTRLastIndex",document);
  27. var rowID = parseInt(LearnTRLastIndex.value);
  28.  
  29. var signFrame = findObj("LearnInfoItem",document);
  30. //添加行
  31. var newTR = signFrame.insertRow(signFrame.rows.length);
  32. newTR.id = "LearnItem" + rowID;
  33.  
  34. //添加列:起讫时间
  35. var newNameTD=newTR.insertCell(0);
  36. //添加列内容
  37. newNameTD.innerHTML = "<input name='txtLearnStartDate" + rowID + "' id='txtLearnStartDate" + rowID + "' type='text' class='inputStyle' />";
  38.  
  39. //添加列:毕业院校
  40. var newNameTD=newTR.insertCell(1);
  41. //添加列内容
  42. newNameTD.innerHTML = "<input name='txtName" + rowID + "' id='txtName" + rowID + "' type='text' class='inputStyle' />";
  43.  
  44. //添加列:所学专业
  45. var newEmailTD=newTR.insertCell(2);
  46. //添加列内容
  47. newEmailTD.innerHTML = "<input name='txtEMail" + rowID + "' id='txtEmail" + rowID + "' type='text' class='inputStyle' />";
  48.  
  49. //添加列:学制
  50. var newTelTD=newTR.insertCell(3);
  51. //添加列内容
  52. newTelTD.innerHTML = "<input name='txtTel" + rowID + "' id='txtTel" + rowID + "' type='text' class='inputStyle' />";
  53.  
  54. //添加列:学位
  55. var newMobileTD=newTR.insertCell(4);
  56. //添加列内容
  57. newMobileTD.innerHTML = "<input name='txtMobile" + rowID + "' id='txtMobile" + rowID + "' type='text' class='inputStyle' />";
  58.  
  59. //添加列:学习方式
  60. var newMobileTD=newTR.insertCell(5);
  61. //添加列内容
  62. newMobileTD.innerHTML = "<input name='txtMobile" + rowID + "' id='txtMobile" + rowID + "' type='text' class='inputStyle' />";
  63.  
  64. //添加列:文化程度
  65. var newCompanyTD=newTR.insertCell(6);
  66. //添加列内容
  67. newCompanyTD.innerHTML = "<input name='txtCompany" + rowID + "' id='txtCompany" + rowID + "' type='text' class='inputStyle' />";
  68.  
  69. //添加列:删除按钮
  70. var newDeleteTD=newTR.insertCell(7);
  71. //添加列内容
  72. newDeleteTD.innerHTML = "<div align='center'><input id='txtDel" + rowID + "' type='button' value='删除' onclick=\"LearnDeleteRow('LearnItem" + rowID + "')\" class='inputStyle' /></div>";
  73.  
  74. //将行号推进下一行
  75. LearnTRLastIndex.value = (rowID + 1).toString() ;
  76. }
  77. //删除指定行
  78. function LearnDeleteRow(rowid){
  79. var signFrame = findObj("LearnInfoItem",document);
  80. var signItem = findObj(rowid,document);
  81.  
  82. //获取将要删除的行的Index
  83. var rowIndex = signItem.rowIndex;
  84.  
  85. //删除指定Index的行
  86. signFrame.deleteRow(rowIndex);
  87.  
  88. }
  89.  
  90. </script>

效果图

Js实现动态添加删除Table行示例的更多相关文章

  1. C# ASP 动态添加Html Table行

    用JS放法实现以下效果: 前端文件Questionnaire23.aspx: <%@ Page Title="题目" Language="C#" Mast ...

  2. JS动态添加删除html

    本功能要求是页面传一个List 集合给后台而且页面可以动态添加删除html代码需求如下: 下面是jsp页面代码 <%@ page language="java" pageEn ...

  3. js实现网页收藏功能,动态添加删除网址

    <html> <head> <title> 动态添加删除网址 </title> <meta charset="utf-8"&g ...

  4. 编辑 Ext 表格(一)——— 动态添加删除行列

    一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除.   (1) 动态添加表格的行  gridS ...

  5. jquery 删除table行,该如何解决

    query 删除table行< table >  < tbody >  < tr >  < td > 这行原来就有 </ td >  < ...

  6. jquery 无刷新添加/删除 input行 实时计算购物车价格

    jquery 无刷新添加/删除 input行 实时计算购物车价格 jquery 未来事件插件jq_Live_Extension.js 演示 <script> $(document).rea ...

  7. js 表格操作----添加删除

    js 表格操作----添加删除 书名:<input type="text" id="name"> 价格:<input type="t ...

  8. 用Javascript动态添加删除HTML元素实例 (转载)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. JS & JQuery 动态添加 select option

    因为是转载文章 在此标明出处,以前有文章是转的没标明的请谅解,因为有些已经无法找到出处,或者与其它原因. 如有冒犯请联系本人,或删除,或标明出处. 因为好的文章,以前只想收藏,但连接有时候会失效,所以 ...

随机推荐

  1. logistic回归具体解释(二):损失函数(cost function)具体解释

    有监督学习 机器学习分为有监督学习,无监督学习,半监督学习.强化学习.对于逻辑回归来说,就是一种典型的有监督学习. 既然是有监督学习,训练集自然能够用例如以下方式表述: {(x1,y1),(x2,y2 ...

  2. android中使用spinner组件

    spinner组件类似于html中的select标签,实现下拉选择框的功能. 添加一个Activity,界面上添加一个spinner下拉框,一个button按钮.点击按钮,获取spinner下拉框当前 ...

  3. iOS 根据圆心的坐标点、半径、当前手势所在的坐标点,计算出圆的运动轨迹坐标

    /** * 根据圆心的坐标点.半径.当前手势所在的坐标点,计算出圆的运动轨迹坐标 * @param radius 圆心半径 * @param centerCircle 圆心的坐标点 * @param ...

  4. Mac os 系统头像位置。

    ~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/

  5. Windows 服务安装教程

    一.安装服务1.已管理员的身份启动CMD2.输入 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 回车3.输入 InstallUtil.exe Win ...

  6. scala中Option和Some

    Option的解释: Represents optional values. Instances of Option are either an instance of scala.Some or t ...

  7. 008-Go 关于字符串拼接

    如果是少量小文本拼接,用 “+” 如果是大量小文本拼接,用 strings.Join 如果是大量大文本拼接,用 bytes.Buffer package main import( "fmt& ...

  8. eclipse 远程调试程序

    最近遇到一个非常恶心的问题,本地调试没有问题,到了线上就复发,逼于无奈只能使用eclipse远程调试,下面把步骤记录一下: 1.修改服务器的启动脚本,添加如下内容: export JPDA_ADDRE ...

  9. 压力测试 JMeter3.3

    历史下载版本 https://archive.apache.org/dist/jmeter/source/

  10. VS2015使用小技巧

    VS2015常用快捷键 1.回到上一个光标位置/前进到下一个光标位置 1)回到上一个光标位置:使用组合键“Ctrl + -”; 2)前进到下一个光标位置:“Ctrl + Shift + - ” 2.复 ...