用JS写的一个TableView控件- web编程之路- 博客园

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

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>

输出结果为:

 

郑重声明:资讯 【用JS写的一个TableView控件- web编程之路- 博客园】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——