zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    webpack引vue
    webpack加载css -loader
    webpack的使用
    leaflet(二)在地图上添加标记
    初学leaflet(一)引入地图资源
    Dom所有的属性,方法,和事件
    JavaScript所有函数和内置方法
    css padding 属性
    JavaScript正则表达式
    ES6 Promise
  • 原文地址:https://www.cnblogs.com/yijiahao/p/11909517.html
Copyright © 2011-2022 走看看