用JS写的一个TableView控件
2010-01-23 19:50
423 查看
请看看编码是否规范,使用是否方便
HTML:
代码<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>输出结果为:
HTML:
代码<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控件代码
- 用JS写的一个TableView控件代码
- 用JS写的一个TableView控件
- 在 Table View 中显示一个刷新控件
- Swift实现的一个tableView可用的下拉刷新控件(自定义UIControl)
- tableview索引添加一个显示点击或滑动到哪个字母的控件
- 动态tableView中通过点击tableViewCell内部的一个控件找到indexPath
- Xcode 5 的一个 Bug:修改 TableView的 content导致崩溃
- 清除一个view上的所有子控件
- 制作一个可以滑动操作的 Table View Cell
- 一个很好很强大的js时间控件:显示年,月,日,时,分,秒
- 制作一个可以滑动操作的 Table View Cell
- 创建一个Storyboard工程 storyboard是在ios5中引入的新控件,能够更加清晰、简单的整合多个ViewController的关系,下面主要介绍一下怎么初建一个storyboard的工程
- js的一个简单的例子_修改table中值联动变化相关值
- JavaFX表格控件TableView高级应用:自动添加ID列、删除操作列、单元格内容个性化渲染
- 解决选择了一个Row,再选择另一个Row,- (void)tableView:didDeselectRowAtIndexPath:才响应
- bootstrapTable printThis打印插件 中 printThis.js中的一个buge
- 【代码笔记】iOS-一个tableView,两个section
- FineUI中在一个页面中通过控件事件(JS)向父页面中添加Tab页
- 一个js无限极分级树控件