首页 > 语言 > JavaScript > 正文

JS实现两表格里数据来回转移的方法

2024-05-06 16:21:00
字体:
来源:转载
供稿:网友

这篇文章主要介绍了JS实现两表格里数据来回转移的方法,涉及javascript鼠标事件及页面元素的相关操作技巧,需要的朋友可以参考下

本文实例讲述了JS实现两表格里数据来回转移的方法。分享给大家供大家参考。具体分析如下:

最近做项目里用到了一个 两个表格里数据的来回转移,用JS稍微做了下,界面也没有去弄很漂亮

感觉写得有点繁琐了,有时间再改进哈

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
  3. <html xmlns="http://www.w3.org/1999/xhtml"
  4. <head> 
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  6. <title>提货送货</title>  
  7. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  8. <meta http-equiv="description" content="this is my page">  
  9. <style type="text/css">  
  10. a{  
  11. text-decoration: none;  
  12. text-align: center;  
  13. #main{  
  14. postion:relation;  
  15. }  
  16. /*左边层*/ 
  17. #div1 {  
  18. float: left;  
  19. postion:relation;  
  20. #div1 #left{  
  21. float:left;  
  22. }  
  23. /*中间层*/ 
  24. #div2{  
  25. float:left;  
  26. margin-top:50px;  
  27. #div2 #div2_2{  
  28. margin-top:15px;  
  29. }  
  30. /*右边层*/ 
  31. #div3 {  
  32. float: left;  
  33. #tab_sendValue1 input,#tab_sendValue3 input{  
  34. width:40px;  
  35. border:none;  
  36. }  
  37. </style>  
  38. <script type="text/javascript">  
  39. //全选事件  
  40. function myclick(e,itemName){  
  41. var items = document.getElementsByName(itemName);  
  42. for(var i = 0;i < items.length;i++){  
  43. items[i].checked = e.checked;  
  44. }  
  45. }  
  46. //移动左边表格的值到右边表格  
  47. function sendValueToRight(){  
  48. var ary = new Array();  
  49. var items = document.getElementsByName("item");  
  50. for(var i = 0;i < items.length;i++){  
  51. if(items[i].checked){  
  52. ary[i] = document.getElementById("id"+items[i].value).parentNode.parentNode.rowIndex;//保存下所选行的索引  
  53. moveValueOfLeft(items[i].value);//移值  
  54. }  
  55. }  
  56. for(var i = ary.length;i >0;i--){  
  57. var leftTbody = document.getElementById("tab_sendValue1"); 
  58. //左边表格的tbody  
  59. //判断数组ary里的值是不是行索引  
  60. if(!isNaN(ary[i-1])){  
  61. leftTbody.deleteRow(ary[i-1]-1); 
  62. //移除表格的所选行  
  63. }  
  64. }  
  65. document.getElementById("check_all").checked = false
  66. //全选复选框置为false  
  67. }  
  68. //移动左边表格的值到右边表格  
  69. function moveValueOfLeft(op){  
  70. var wbid = document.getElementById("id"+op).value;  
  71. var wbno = document.getElementById("no"+op).value;  
  72. var destination = document.getElementById("des"+op).value;  
  73. var status = document.getElementById("status"+op).value;  
  74. var billingdate = document.getElementById("date"+op).value;  
  75. var rightTbody = document.getElementById("tab_sendValue3"); 
  76. //右边表格的tbody  
  77. var tr = document.createElement("tr");  
  78. var td1 = document.createElement("td");  
  79. var td2 = document.createElement("td");  
  80. var td3 = document.createElement("td");  
  81. var td4 = document.createElement("td");  
  82. var td5 = document.createElement("td");  
  83. var td6 = document.createElement("td");  
  84. td1.innerHTML = "<input type='checkbox' id='check_one' name='item1' value='"+wbid+"'>";  
  85. td2.innerHTML = "<input type='text' id='id"+wbid+"' value='"+wbid+"'>";  
  86. td3.innerHTML = "<input type='text' id='no"+wbid+"' value='"+wbno+"'>";  
  87. td4.innerHTML = "<input type='text' id='des"+wbid+"' value='"+destination+"'>";  
  88. td5.innerHTML = "<input type='text' id='status"+wbid+"' value='"+status+"'>";  
  89. td6.innerHTML = "<input type='text' id='date"+wbid+"' value='"+billingdate+"'>";  
  90. tr.appendChild(td1);  
  91. tr.appendChild(td2);  
  92. tr.appendChild(td3);  
  93. tr.appendChild(td4);  
  94. tr.appendChild(td5);  
  95. tr.appendChild(td6);  
  96. rightTbody.appendChild(tr);  
  97. }  
  98. //移动右边表格的值到左边表格  
  99. function sendValueToLeft(){  
  100. var ary1 = new Array();  
  101. var items = document.getElementsByName("item1");  
  102. for(var i = 0;i < items.length;i++){  
  103. if(items[i].checked){  
  104. //先保存所选行的索引 在移除掉所选行  
  105. ary1[i] = document.getElementById("id"+items[i].value).parentNode.parentNode.rowIndex; 
  106. //保存下所选行的索引  
  107. moveValueOfRight(items[i].value);//移值  
  108. }  
  109. }  
  110. for(var i = ary1.length;i >0;i--){  
  111. var rightTbody = document.getElementById("tab_sendValue3"); 
  112. //右边表格的tbody  
  113. //判断数组ary里的值是不是行索引  
  114. if(!isNaN(ary1[i-1])){  
  115. rightTbody.deleteRow(ary1[i-1]-1); 
  116. //移除表格的所选行  
  117. }  
  118. }  
  119. document.getElementById("check_all3").checked = false
  120. //全选复选框置为false  
  121. }  
  122. //移动右边表格的值到左边表格  
  123. function moveValueOfRight(op){  
  124. var wbid = document.getElementById("id"+op).value;  
  125. var wbno = document.getElementById("no"+op).value;  
  126. var destination = document.getElementById("des"+op).value;  
  127. var status = document.getElementById("status"+op).value;  
  128. var billingdate = document.getElementById("date"+op).value;  
  129. var leftTbody = document.getElementById("tab_sendValue1"); 
  130. //左边表格的tbody  
  131. var tr = document.createElement("tr");  
  132. var td1 = document.createElement("td");  
  133. var td2 = document.createElement("td");  
  134. var td3 = document.createElement("td");  
  135. var td4 = document.createElement("td");  
  136. var td5 = document.createElement("td");  
  137. var td6 = document.createElement("td");  
  138. td1.innerHTML = "<input type='checkbox' id='check_one' name='item' value='"+wbid+"'>";  
  139. td2.innerHTML = "<input type='text' id='id"+wbid+"' value='"+wbid+"'>";  
  140. td3.innerHTML = "<input type='text' id='no"+wbid+"' value='"+wbno+"'>";  
  141. td4.innerHTML = "<input type='text' id='des"+wbid+"' value='"+destination+"'>";  
  142. td5.innerHTML = "<input type='text' id='status"+wbid+"' value='"+status+"'>";  
  143. td6.innerHTML = "<input type='text' id='date"+wbid+"' value='"+billingdate+"'>";  
  144. tr.appendChild(td1);  
  145. tr.appendChild(td2);  
  146. tr.appendChild(td3);  
  147. tr.appendChild(td4);  
  148. tr.appendChild(td5);  
  149. tr.appendChild(td6);  
  150. leftTbody.appendChild(tr);  
  151. }  
  152. </script>  
  153. </head>  
  154. <body onload="myLoad()">  
  155. <div id="main">  
  156. <div id="div1">  
  157. <div >  
  158. <div>  
  159. <input id="btn1" type="button" value="查未配载单" onclick="window.location.href='${webroot }/waybill/find.do';"/>  
  160. <input id="btn2" type="button" value="筛选未配载" />  
  161. <input id="btn3" type="button" value="清除" />  
  162. <input id="btn4"type="button" value="还原" />  
  163. </div>  
  164. <div>自营路线:<select><option>长沙</option></select></div>  
  165. </div>  
  166. <input id="btn_1" type="button" value="未配载托运单" onclick="fun('tab_1');">  
  167. <input id="btn_2" type="button" value="已清除托运单" onclick="fun('tab_2');">  
  168. <!-- 表格1 -->  
  169. <div id="tab1">  
  170. <table border="1" id="waybillTable">  
  171. <thead>  
  172. <tr>  
  173. <th>全选<input type="checkbox" id="check_all" onclick="myclick(this,'item');"></th>  
  174. <th>托运单号</th>  
  175. <th>货号</th>  
  176. <th>目的地</th>  
  177. <th>状态</th>  
  178. <th>托运日期</th>  
  179. </tr>  
  180. </thead>  
  181. <tbody id="tab_sendValue1">  
  182. <tr>  
  183. <td><input type="checkbox" id="check_one" name="item" value="2"></td>  
  184. <td><input type="text" id="id2" value="2"></td>  
  185. <td><input type="text" id="no2" value="89757"></td>  
  186. <td><input type="text" id="des2" value="长沙"></td>  
  187. <td><input type="text" id="status2" value="在库"></td>  
  188. <td><input type="text" id="date2" value="ggyy"></td>  
  189. </tr>  
  190. <tr>  
  191. <td><input type="checkbox" id="check_one" name="item" value="3"></td>  
  192. <td><input type="text" id="id3" value="3"></td>  
  193. <td><input type="text" id="no3" value="007"></td>  
  194. <td><input type="text" id="des3" value="长沙"></td>  
  195. <td><input type="text" id="status3" value="在库"></td>  
  196. <td><input type="text" id="date3" value="ggyy"></td>  
  197. </tr>  
  198. <tr>  
  199. <td><input type="checkbox" id="check_one" name="item" value="4"></td>  
  200. <td><input type="text" id="id4" value="4"></td>  
  201. <td><input type="text" id="no4" value="008"></td>  
  202. <td><input type="text" id="des4" value="长沙"></td>  
  203. <td><input type="text" id="status4" value="在库"></td>  
  204. <td><input type="text" id="date4" value="ggyy"></td>  
  205. </tr>  
  206. <tr>  
  207. <td><input type="checkbox" id="check_one" name="item" value="5"></td>  
  208. <td><input type="text" id="id5" value="5"></td>  
  209. <td><input type="text" id="no5" value="009"></td>  
  210. <td><input type="text" id="des5" value="长沙"></td>  
  211. <td><input type="text" id="status5" value="在库"></td>  
  212. <td><input type="text" id="date5" value="ggyy"></td>  
  213. </tr>  
  214. </tbody>  
  215. </table>  
  216. </div>  
  217. </div>  
  218. <form action="/logistic7.2/loadingSet/save.do" method="post">  
  219. <div id="div2">  
  220. <div>当前网点<br>  
  221. <select name="loadingsite">  
  222. <option>长沙</option>  
  223. </select>  
  224. </div>  
  225. <div id="div2_2"><input type="button" value=">>" style="width:80px" onclick="sendValueToRight();" /></div>  
  226. <div id="div2_2"><input type="button" value="<<" style="width:80px" onclick="sendValueToLeft();" /></div>  
  227. </div>  
  228. <div id="div3">  
  229. <div>  
  230. <input id="button1" type="button" value="查已配载单 " />  
  231. <input type="submit" value="保存配载单" id="mysubmit"/><br>  
  232. 到货网点:<input type="text" name="destsite" id="destsite"><br>  
  233. 车辆编号:<select id="vehicles" name="vehicle.vid">  
  234. <option>-----请选择-----</option>  
  235. </select>  
  236. 到货时间:<input type="text" name="planarrtime" id="planarrtime">  
  237. </div>  
  238. <!-- 表格3 -->  
  239. <div id="tab2">  
  240. <table border="1" width="100%">  
  241. <thead>  
  242. <tr>  
  243. <th>全选<input type="checkbox" id="check_all3" onclick="myclick(this,'item1');"></th>  
  244. <th>托运单号</th>  
  245. <th>货号</th>  
  246. <th>目的地</th>  
  247. <th>状态</th>  
  248. <th>托运日期</th>  
  249. </tr>  
  250. </thead>  
  251. <tbody id="tab_sendValue3" name="tab_sendValue3">  
  252. </tbody>  
  253. </table>  
  254. </div>  
  255. </div>  
  256. </form>  
  257. </div>  
  258. </body>  
  259. </html> 

希望本文所述对大家的javascript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选