JavaScript实现动态表格

运行效果:

源代码:

  1 <!DOCTYPE html>
  2 <html lang="zh">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>动态表格</title>
  6 </head>
  7 <body>
  8     <button type="button" onclick="refresh()">刷新</button>
  9     <button type="button" onclick="checkAll()">全选</button>
 10     <button type="button" onclick="uncheckAll()">不选</button>
 11     <button type="button" onclick="addCell()">添加</button>
 12     <button type="button" onclick="copyCell()">拷贝</button>
 13     <button type="button" onclick="copyCell();delCell()">移动</button>
 14     <button type="button" onclick="delCell()">删除</button>
 15 
 16     <table id="table1" border="1" width="320">
 17         <tr>
 18             <td width="20"><input type="checkbox" /></td>
 19             <td width="100">1</td>
 20             <td width="100">1</td>
 21             <td width="100">1</td>
 22         </tr>
 23         <tr>
 24             <td><input type="checkbox"></td>
 25             <td>2</td>
 26             <td>2</td>
 27             <td>2</td>
 28         </tr>
 29     </table>
 30     <br />
 31     <table id="table2" border="1" width="320">
 32         <tr>
 33             <td width="20"><input type="checkbox" /></td>
 34             <td width="100">你好!</td>
 35             <td width="100">你好!</td>
 36             <td width="100">你好!</td>
 37         </tr>
 38         <tr>
 39             <td><input type="checkbox" /></td>
 40             <td>你坏!</td>
 41             <td>你好!</td>
 42             <td>你好!</td>
 43         </tr>
 44     </table>
 45     <form name="frmRefresh" action="dynamic_table.html">
 46     </form>
 47 
 48 <script type="text/javascript">
 49     function addCell(){ //添加新的单元格
 50         //插入新的一行
 51         var oTargetRow = document.all("table1").insertRow();
 52         for (var k = 0; k < document.getElementById("table1").rows[0].cells.length; k++) {
 53             var oCell = oTargetRow.insertCell();
 54             if (parseInt(k) === 0) {
 55                 oCell.innerHTML = "<input type='checkbox'>";
 56             }
 57             else {
 58                 oCell.innerHTML = k;
 59             }
 60         }
 61     }
 62 
 63     function checkAll(){ //选中所有的单元格
 64         var eInput = document.all("table1").getElementsByTagName("input");
 65         for (var i = 0; i < eInput.length; i++) {
 66             eInput[i].checked = true;
 67         }
 68     }
 69 
 70     function uncheckAll() {
 71         var eInput = document.all("table1").getElementsByTagName("input");
 72         for (var i = 0; i < eInput.length; i++) {
 73             eInput[i].checked = false;
 74         }
 75     }
 76 
 77     function copyCell(){ //拷贝单元格
 78         var eInput = document.all("table1").getElementsByTagName("input");
 79         var oTargetRow = null;
 80         for (var i = 0; i < eInput.length; i++) {
 81             if (eInput[i].checked) {
 82                 var oSourceRow = eInput[i].parentElement.parentElement;
 83                 //插入新的一行
 84                 oTargetRow = document.all("table2").insertRow();
 85                 for (var k = 0; k < document.all("table1").rows[0].cells.length; k++) {
 86                     var oCell = oTargetRow.insertCell();
 87                     oCell.innerHTML = oSourceRow.cells[k].innerHTML;
 88                 }
 89             }
 90         }
 91     }
 92 
 93     function delCell(){//删除单元格
 94         var eInput = document.all("table1").getElementsByTagName("input");
 95         for (var i = eInput.length - 1; i >= 0; i--) {
 96             if (eInput[i].checked) {
 97                 var oSourceRow = eInput[i].parentElement.parentElement;
 98                 document.all("table1").deleteRow(oSourceRow.rowIndex);
 99             }
100         }
101     }
102 
103     function refresh(){ //刷新
104         frmRefresh.submit();
105     }
106 
107 </script>
108 </body>
109 </html>

猜你喜欢

转载自www.cnblogs.com/yijiahao/p/11909517.html