WEB开发网
开发学院网页设计JavaScript 用JS写的一个TableView控件 阅读

用JS写的一个TableView控件

 2011-12-02 22:08:22 来源:WEB开发网   
核心提示:请看看编码是否规范,使用是否方便HTML:代码<table id="customTableView"> <thead> <tr> <td>编号</td> <td>姓名</td> </tr> &

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

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>

Tags:JS 一个 TableView

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接