zoukankan      html  css  js  c++  java
  • 用JS写的一个TableView控件

    请看看编码是否规范,使用是否方便

    HTML:

    代码
    <table id="customTableView">
      
    <thead>
        
    <tr>
          
    <td>编号</td>
          
    <td>姓名</td>
        
    </tr>
      
    </thead>
      
    <tbody><!--template-tbody-->
        
    <tr name="" style=" display:none"><!--template-tr-->
          
    <td bind="0"><span class="red">{value}</span></td>
          
    <td bind="1"><strong>{value}</strong></td>
        
    </tr>
      
    </tbody>
    </table>
    <hr />
    <table id="productTableView">
      
    <thead>
        
    <tr>
          
    <td>编号</td>
          
    <td>名称</td>
        
    </tr>
      
    </thead>
      
    <tbody>
        
    <tr style=" display:none">
          
    <td bind="0"><span class="red">{value}</span></td>
          
    <td bind="1"><strong>{value}</strong></td>
        
    </tr>
      
    </tbody>
    </table>

    Javascript:

    代码
    <script type="text/javascript"> 
    //class TableView {
        //构造函数
        function TableView(ID){
            
    var htmlTable = document.getElementById(ID);
            
    this.container = htmlTable.getElementsByTagName("tbody")[0];
            
    this.template = this.container.getElementsByTagName("tr")[0];
        }
        
    //成员方法
        TableView.prototype.bind = function(dataSource) {
            
    var template = this.template;
            
    var container = this.container;
            
    for(var k=0; k<dataSource.length; k++) {
                
    var newRow = template.cloneNode(true);
                newRow.removeAttribute(
    "id");
                newRow.removeAttribute(
    "style");
                
    for(var i=0;i<2;i++) {
                    
    var dataItem = newRow.cells[i];
                    dataItem.innerHTML 
    = dataItem.innerHTML.replace("{value}", dataSource[k][dataItem.getAttribute("bind")]);
                }
                container.appendChild(newRow);    
            }
        }
    //}

    //测试-1
    var productDataSource = [["001","产品名称1"],["002","产品名称2"]];
    var productTableView = new TableView("productTableView");
    productTableView.bind(productDataSource);

    //测试-2
    var customDataSource = [["001","客户姓名1"],["002","客户姓名2"]];
    var customTableView = new TableView("customTableView");
    customTableView.bind(customDataSource);
    </script>

    输出结果为:

     

  • 相关阅读:
    代码中日志的使用
    MySQL数据库(3)----设置和使用自定义变量
    MySQL数据库(2)----检索信息
    MySQL数据库(1)----入门级操作
    Apache服务器运维笔记(6)----目录 文件 网络容器的安全问题
    Apache服务器运维笔记(5)----容器的处理顺序
    CentOS7 下安装 SublimeText3
    Apache服务器运维笔记(4)----服务器扩展部分
    Apache服务器运维笔记(3)----容器部分
    KMP算法的一个简单实现
  • 原文地址:https://www.cnblogs.com/rentj1/p/1654867.html
Copyright © 2011-2022 走看看