当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用JS写的一个TableView控件代码

Javascript
拖动一个HTML元素
JavaScript使用prototype定义对象类型(转)[
枚举JavaScript对象的函数
在Javascript中定义对象类别
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
用JavaScript限制textarea输入长度 (For: IE、Firefox ...)[
检测邮箱地址是否合法 Check Mail Address (For: IE5+、FF1.06、Opera 7+ ...)[
用于自动添加Digg This!按钮的JavaScript
Javascript实例教程(19) 使用HoTMetal(1)
Javascript实例教程(19) 使用HoTMetal(2)
Javascript实例教程(19) 使用HoTMetal(3)
Javascript实例教程(19) 使用HoTMetal(4)
Javascript实例教程(19) 使用HoTMetal(5)
Javascript实例教程(19) 使用HoTMetal(6)
Javascript实例教程(19) 使用HoTMetal(7)
实现复选框全选/全不选切换
js不是基础的基础
IE的不合理设计和Bugs
js倒计时代码
js静态作用域的功能。

Javascript 中的 用JS写的一个TableView控件代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 277 ::
收藏到网摘: n/a

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>

输出结果为: