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

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

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

图片精选