1. <form id="form1" runat="server">
  2. <div>
  3. <table id="orderTable" border='' cellpadding="" cellspacing="" style="border-collapse: collapse; border-color:#C0C0C0;" rules="none" width="80%" align="center">
  4. <thead>
  5. <tr>
  6. <th style="width: 20%;">申报部门</th>
  7. <th style="width: 20%;">街镇</th>
  8. <th style="width: 20%;">路段名称</th>
  9. <th style="width: 30%;">起止路名</th>
  10. <th>操作</th>
  11. </tr>
  12. </thead>
  13. <tr id="row0">
  14. <td>
  15. <select id="UrbanDepNo0" name="UrbanDepNo" style="width:90%">
  16. <option value="">三林城管署</option>
  17. <option value="">港城城管署</option>
  18. <option value="">惠南城管署</option>
  19. <option value="">金桥城管署</option>
  20. <option value="">陆家嘴城管办</option>
  21. <option value="">川沙城管署</option>
  22. </select>
  23. </td>
  24. <td>
  25. <input type="text" id="LocNo0" name="LocNo" style="width:90%"/>
  26.  
  27. </td>
  28. <td>
  29. <input type="text" id="RoadSectionName0" name="RoadSectionName" style="width:90%"/>
  30. </td>
  31. <td>
  32. <input type="text" id="StStartRoad0" name="StStartRoad" style="width:45%"/>--
  33. <input type="text" id="EndRoadName0" name="EndRoadName" style="width:45%"/>
  34. </td>
  35. <td>
  36. <input type="button" name="delete" value="删 除" style="width:80px" onclick="deleteSelectedRow(0)" />
  37.  
  38. </td>
  39. </tr>
  40. <tr>
  41. <td align="center" colspan="">
  42. <br />
  43. <input type="button" name="insert" value="增加一行" style="width:80px" onclick="insertNewRow()" />&nbsp&nbsp
  44. <input type="button" value=" 保 存 " style="width:80px" onclick="GetValue()" />
  45. </td>
  46. </tr>
  47. </table>
  48. </div>
  49. <div style="MARGIN: 40px auto;">
  50. <table id="TableInfo" border='' cellpadding="" cellspacing="" style="border-collapse: collapse; border-color:#C0C0C0;" width="80%" align="center">
  51. <tr>
  52. <td align="center">
  53. 申报部门
  54. </td>
  55. <td align="center">
  56. 街镇
  57. </td>
  58. <td align="center">
  59. 路段名称
  60. </td>
  61. <td align="center">
  62. 起止路名
  63. </td>
  64. <td align="center">
  65. 操作
  66. </td>
  67. </tr>
  68. </table>
  69. </div>
  70. </form>
  71.  
  72. <script src="jquery.min.js" type="text/javascript"></script>
  73. <script type="text/javascript" language='javascript'>
  74. //声明全局变量
  75. var formvalue = "";
  76. var flag = ;
  77. var index = ;
  78. var firstCell = "";
  79. var secondCell = "";
  80. var thirdCell = "";
  81. var fourthCell = "";
  82.  
  83. $(function() {
  84. //初始化第一行
  85. firstCell = $("#row0 td:eq(0)").html();
  86. secondCell = $("#row0 td:eq(1)").html();
  87. thirdCell = $("#row0 td:eq(2)").html();
  88. fourthCell = $("#row0 td:eq(3)").html();
  89. });
  90.  
  91. //-----------------新增一行-----------start---------------
  92.  
  93. function insertNewRow() {
  94. //获取表格有多少行
  95. var rowLength = $("#orderTable tr").length;
  96. //这里的rowId就是row加上标志位的组合。是每新增一行的tr的id。
  97. var rowId = "row" + flag;
  98.  
  99. //每次往下标为flag+1的下面添加tr,因为append是往标签内追加。所以用 after
  100. var insertStr = "<tr id=" + rowId + ">" + "<td style='width: 20%'>" + firstCell + "</td>" + "<td style='width: 20%'>" + secondCell + "</td>" + "<td style='width: 20%'>" + thirdCell + "</td>" + "<td style='width: 30%'>" + fourthCell + "</td>" + "<td><input type='button' name='delete' value='删除' style='width:80px' onclick='deleteSelectedRow(\"" + rowId + "\")' />"; + "</tr>";
  101. //这里的行数减2,是因为要减去底部的一行和顶部的一行,剩下的为开始要插入行的索引
  102. $("#orderTable tr:eq(" + (rowLength - ) + ")").after(insertStr); //将新拼接的一行插入到当前行的下面
  103. //为新添加的行里面的控件添加新的id属性。
  104. $("#" + rowId + " td:eq(0)").children().eq().attr("id", "UrbanDepNo" + flag);
  105. $("#" + rowId + " td:eq(1)").children().eq().attr("id", "LocNo" + flag);
  106. $("#" + rowId + " td:eq(2)").children().eq().attr("id", "RoadSectionName" + flag);
  107. $("#" + rowId + " td:eq(3)").children().eq().attr("id", "StStartRoad" + flag);
  108. $("#" + rowId + " td:eq(3)").children().eq().attr("id", "EndRoad" + flag);
  109. //每插入一行,flag自增一次
  110. flag++;
  111. }
  112.  
  113. //-----------------删除一行,根据行ID删除-start--------
  114.  
  115. function deleteSelectedRow(rowID) {
  116. if (confirm("确定删除该行吗?")) {
  117. $("#" + rowID).remove();
  118. }
  119. }
  120. //-----------------获取表单中的值----start--------------
  121.  
  122. function GetValue() {
  123. var value = "";
  124. $("#orderTable tr").each(function(i) {
  125. if (i >= ) {
  126. $(this).children().each(function(j) {
  127. if ($("#orderTable tr").eq(i).children().length - != j) {
  128. value += $(this).children().eq().val() + "," //获取每个单元格里的第一个控件的值
  129. if ($(this).children().length > ) {
  130. value += $(this).children().eq().val() + "," //如果单元格里有两个控件,获取第二个控件的值
  131. }
  132. }
  133. });
  134. value = value.substr(, value.length - ) + "#"; //每个单元格的数据以“,”分割,每行数据以“#”号分割
  135. }
  136. });
  137. value = value.substr(, value.length);
  138. ReceiveValue(value);
  139. // $("#formvalue").val(value);
  140. // $("formvalue").submit();
  141. }
  142. //-------------------接收表单中的值-----------------------------
  143.  
  144. function ReceiveValue(str) {
  145. var Str = str.split('#');
  146. if (Str[] != "") {
  147. for (var i = ; i < Str.length - ; i++) {
  148. var value = Str[i].split(',');
  149. var dept = value[];
  150. var street = value[]
  151. var section = value[];
  152. var Broad = value[];
  153. var Eroad = value[];
  154. insertTable(dept, street, section, Broad, Eroad);
  155. $("input[type='text']").val("");
  156. $("select[name='UrbanDepNo']").val("");
  157. }
  158. }
  159. }
  160.  
  161. //---------------将表单中的数据添加到新表中---------------------
  162.  
  163. function insertTable(dept, street, section, Broad, Eroad) {
  164. var department = "";
  165. switch (dept) {
  166. case "":
  167. department = "三林城管署";
  168. break;
  169. case "":
  170. department = "港城城管署";
  171. break;
  172. case "":
  173. department = "惠南城管署";
  174. break;
  175. case "":
  176. department = "金桥城管署";
  177. break;
  178. case "":
  179. department = "陆家嘴城管办";
  180. break;
  181. case "":
  182. department = "川沙城管署";
  183. break;
  184. default:
  185. break;
  186. }
  187.  
  188. //将接收到数据添加到新表TableInfo中。
  189. $('#TableInfo').append("<tr id=" + index + "><td align='center'>" + department + "</td> <td align='center'>" + street + "</td><td align='center'>" + section + "</td> <td align='center'>" + Broad + "-" + Eroad + "</td> <td align='center'><a href='#' onclick='deltr(" + index + ")'>删 除</a></td></tr>"); 
  190. index++;
  191. }
  192.  
  193. //----------新表中的删除方法-----------
  194.  
  195. function deltr(index) {
  196. if (confirm("确定删除吗?")) {
  197. $("tr[id='" + index + "']").remove();
  198. }
  199. }
  200. </script>

Js实现Table动态添加一行的小例子的更多相关文章

  1. 利用jquery给指定的table动态添加一行、删除一行

    转自:http://www.cnblogs.com/linjiqin/p/3148181.html $("#mytable tr").find("td:nth-child ...

  2. 利用jquery给指定的table动态添加一行、删除一行,复制,值不重复等操作

    $("#mytable tr").find("td:nth-child(1)") 1表示获取每行的第一列$("#mytable tr").f ...

  3. ASP.NET给Table动态添加删除行,并且得到控件的值

    ASP.NET给Table动态添加控件并且得到控件的值 由于跟老师做一个小的项目,可是我自己又不太懂js,所以一直为动态建立表格并且能动态的取值和赋值感到苦恼.起初在网上找到了一些js资源,解决了动态 ...

  4. js对select动态添加和删除OPTION

    <select id="ddlResourceType" onchange="getvalue(this)"> </select> 动态 ...

  5. JS对select动态添加options操作[IE&FireFox兼容]

    <select id="ddlResourceType" onchange="getvalue(this)"> </select> 动态 ...

  6. 使用js对select动态添加和删除OPTION示例代码

    动态删除select中的所有options.某一项option以及动态添加select中的项option,在IE和FireFox都能测试成功,感兴趣的朋友可以参考下,希望对大家有所帮助   <s ...

  7. 使用js对select动态添加和删除OPTION

    <select id="ddlResourceType" onchange="getvalue(this)"> </select> 动态 ...

  8. JS对select动态添加option操作 (三级联动) (搜索拼接)

    以下纯属自我理解之下再东搜西查的内容~ JS对select动态添加option操作有个高大上的艺名叫多级联动:第一级改变时,第二级跟着变,第二级改变时,第三级跟着变... 本菜鸟是在工作中遇到做收货地 ...

  9. 浅谈js中如何动态添加表头/表列/表格内容

    我想很多童鞋用js动态向表格中添加数据很熟悉,而且也觉得非常简单!是的,对于写页面的童鞋来说,最喜欢写查询的页面了,动态向表格绑定数据.用for循环就可以轻松搞定. 如果我们的业务需求有所变化,可能我 ...

随机推荐

  1. 函数防抖 debounce

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. F. Shovels Shop 背包DP

    题意: 商店里有n把铲子 每个铲子有其标价 一个人要买k吧 有m个优惠政策 每个优惠政策有两个元素x,y 表示   正好买x个铲子的时候  这x个铲子中最便宜的y个铲子免单 求用最少的前买到k个铲子 ...

  3. day 57 jQuery插件

    在jQuery的console里面 '321'+8  输出结果是"3218"  直接作为字符串给拼接上了 如果是"321"-8 输出结果就是313 直接转换成数 ...

  4. day 51 js-2 函数,对象,正则 (定时器示例)

    本文转载自cnblogs.liwenzhou-----哪吒博客 先来一个定时器让我们看看函数的效果: <script src="/js/jquery-3.2.1.min.js" ...

  5. 【JavaScript】对象

    No1: typeof操作符获取对象的类型 null的类型是object,Array的类型也是object,如果我们用typeof将无法区分出null.Array和通常意义上的object——{}. ...

  6. 用Eclipse上传项目到github

    1.安装EGit插件 点击菜单栏help->Eclipse Marketplace 2.配置Git 这里是配置相关账户信息 3.把项目提交到本地仓库 右键项目->Team->Shar ...

  7. c++ <vector>学习

    https://www.cnblogs.com/mr-wid/archive/2013/01/22/2871105.html 具体参考上面博客,很详细,也是看他的.今天c++学习200%,项目开发0% ...

  8. 自己总结的C#编码规范--4.注释篇

    注释 注释毫无疑问是让别人以最快速度了解你代码的最快途径,但写注释的目的绝不仅仅是"解释代码做了什么",更重要的尽量帮助代码阅读者对代码了解的和作者一样多. 当你写代码时,你脑海里 ...

  9. 大道至简第一章Java伪代码

    1.编程的精义//愚公移山public class Yugong{public static void main(String[]args){        while(山没平){           ...

  10. BZOJ.1095.[ZJOI2007]捉迷藏(线段树 括号序列)

    BZOJ 洛谷 对树DFS得到括号序列.比如这样一个括号序列:[A[B[E][F[H][I]]][C][D[G]]]. 那比如\(D,E\)间的最短距离,就是将\(D,E\)间的括号序列取出:][[] ...