dom 动态生产表格
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#form1 {
width: 480px;
border: 1px solid #eee;
border-radius: 5px;
margin: 30px auto;
padding: 10px;
line-height: 30px;
position: relative;
}
#tab1 {
width: 500px;
margin: 30px auto;
border-collapse: collapse;
}
th, td {
border: 1px solid #000;
padding: 5px;
}
tr {
cursor: pointer;
}
tbody tr td:first-child {
text-align: center;
}
input[type="checkbox"] {
width: 15px;
height: 15px;
}
input[type="button"] {
position: absolute;
right: 10px;
bottom: 10px;
}
#div1 {
position: relative;
width: 480px;
padding: 10px;
margin: 0 auto;
}
</style>
<script type="text/javascript">
function getChecked(form,name)
{
var arr = [];
for (var i = 0; i < form[name].length; i++)
{
if(form[name][i].checked)
{
arr.push(form[name][i].value)
}
}
if(form[name][0].type == 'radio')
{
return arr[0];
}
if(form[name][0].type == 'checkbox')
{
return arr;
}
};
</script>
<script type="text/javascript">
window.onload = function ()
{
var data = [
{'name': '赵一', 'sex': '男', 'age': '35'},
{'name': '钱二', 'sex': '女', 'age': '28'},
{'name': '孙三', 'sex': '男', 'age': '15'},
{'name': '李四', 'sex': '男', 'age': '48'},
{'name': '周五', 'sex': '男', 'age': '36'},
{'name': '武六', 'sex': '女', 'age': '49'},
{'name': '郑七', 'sex': '女', 'age': '75'},
{'name': '王九', 'sex': '男', 'age': '17'},
]; var otab = document.getElementById('tab1');
var obody = otab.tBodies[0];
var oform = document.getElementById('form1');
var oall = document.getElementById('checkAll');
var odelet = document.getElementById('delete'); for( var i = 0; i < data.length; i++)
{
var otr = document.createElement('tr'); var otd = document.createElement('td');
otd.innerHTML = '<input type="checkbox">'
otr.appendChild(otd); var otd = document.createElement('td');
otd.innerHTML = data[i].name;
otr.appendChild(otd); var otd = document.createElement('td');
otd.innerHTML = data[i].sex;
otr.appendChild(otd); var otd = document.createElement('td');
otd.innerHTML = data[i].age;
otr.appendChild(otd); obody.appendChild(otr); colorline();
} checkbox();
oform.add.onclick = function ()
{
arr = [];
arr[0] = oform.name.value;
arr[1] = getChecked(oform,'sex');
arr[2] = oform.age.value; for(var i = 0; i < arr.length; i++ )
{
var otr = document.createElement('tr');
var otd = document.createElement('td');
otd.innerHTML = '<input type="checkbox">'
otr.appendChild(otd); for(var i = 0; i < arr.length; i++)
{
var otd = document.createElement('td');
otd.innerHTML = arr[i];
otr.appendChild(otd);
}
}
obody.appendChild(otr);
oform.reset();
colorline();
checkbox();
}; function colorline()
{
for( var i = 0; i < obody.rows.length; i++ )
{
if(i%2)
{
obody.rows[i].style.background = '#fff';
}
else
{
obody.rows[i].style.background = 'pink';
} }
}; function checkbox()
{
for(var i = 0; i < obody.rows.length; i++ )
{
obody.rows[i].onclick = function ()
{
this.cells[0].children[0].checked = this.cells[0].children[0].checked == false?true:false;
check();
} obody.rows[i].cells[0].children[0].onclick = function ()
{
this.checked = this.checked == false ? true:false;
check();
}
}
} otab.tHead.onclick = function ()
{
oall.checked = oall.checked == false ? true: false;
checkall();
}; oall.onclick = function ()
{
this.checked = this.checked == false ? true:false;
checkall();
} function checkall()
{
for( var i = 0; i < obody.rows.length; i++ )
{
obody.rows[i].cells[0].children[0].checked = oall.checked;
}
}; function check()
{
for( var i = 0; i < obody.rows.length; i++)
{
if(!obody.rows[i].cells[0].children[0].checked)
{
oall.checked = false;
return;
}
}
oall.checked = true;
} odelet.onclick = function ()
{
oall.checked = false;
for(var i = 0; i < obody.rows.length; i++ )
{
if(obody.rows[i].cells[0].children[0].checked)
{
obody.removeChild(obody.rows[i])
i--;
}
}
colorline();
}
}
</script>
</head> <body>
<form id="form1">
请输入姓名:<input type="text" name="name"><br>
请选择性别:<input type="radio" name="sex" value="男">男<input type="radio" name="sex" value="女">女<br>
请输入年龄:<input type="text" name="age"><br>
<input type="button" value="添加到表格" name="add">
</form>
<table id="tab1">
<thead>
<tr>
<th width="20%"><input type="checkbox" id="checkAll" id="checkAll"/> 全选</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
</tr>
</thead>
<tbody></tbody>
</table>
<div id="div1">
<input type="button" value="删除所选行" id="delete">
</div>
</body>
</html>
dom 动态生产表格的更多相关文章
- DOM动态添加表格
var table=document.createElement("table"); table.border=1; var b=document.createElement(&q ...
- Javascript高级编程学习笔记(45)——DOM 操作表格及DOM动态集合
操作DOM表格 早些时候,HTML 还是以表格布局为主, 所以DOM操作表格是比较重要的一点 但是现如今 有其它的选择,所以表格的操作也就慢慢地淡出了人们的视线 所以这里也就不过多去详细展开,这里也就 ...
- [HTML]js动态修改表格里面的内容
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/T ...
- JavaScript DOM动态创建(声明)Object元素
http://www.cnblogs.com/GuominQiu/archive/2011/04/01/2002783.html 一文提及“等整个页面加载完毕后,根据用户所选的阅读机类型,再用Java ...
- jquery动态创建表格
1.代码实例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- 利用javascript动态创建表格
//说明:实现功能.原理上文相同.不过这次是利用已有的简单的方法创建行和列,并实现内容行鼠标移入变色功能! 效果图: /*两个方法 1. trNode table.insertRow(-1) ...
- js如何实现动态在表格中添加标题和去掉标题?
js如何实现动态在表格中添加标题和去掉标题? 一.总结 1.通过table标签的createCaption(),deleteCaption()方法实现. document.getElementById ...
- javascript动态创建表格:新增、删除行和列
转载:http://www.cnblogs.com/pato/archive/2009/09/02/1559068.html 利用js来动态创建表格有两种格式,appendChild()和insert ...
- javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行
jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...
随机推荐
- [HDOJ1043]Eight(康托展开 BFS 打表)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1043 八数码问题,因为固定了位置所以以目标位置开始搜索,把所有情况(相当于一个排列)都记录下来,用康托 ...
- HDU 1024 (不重叠m段最大和) Max Sum Plus Plus
题解是看的这里的: http://www.acmerblog.com/hdu-1024-Max-Sum-Plus-Plus-1276.html 当前这个状态是dp[i][j],i 表示当前的段,j表示 ...
- 4630 no pain no game 树状数组
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4630 题意:给你N个数,然后给你M个询问,每个询问包含一个l 一个r,问你lr 这个区间中任意两个数最 ...
- WEBUS2.0 In Action - 搜索操作指南 - (1)
上一篇:WEBUS2.0 In Action - 索引操作指南(2) | 下一篇:WEBUS2.0 In Action - 搜索操作指南(2) 1. IQueriable中内置的搜索功能 在Webus ...
- Using newInstance() to Instantiate a Fragment(转)
I recently came across an interesting question on StackOverflow regarding Fragment instantiation: Wh ...
- JAVA中的成员变量与局部变量
package com.imooc; //1.定义一个类 public class Telphone { //2.属性(成员变量)有什么 float screen; float cpu; float ...
- PHP写入Txt
function writelog($str) { $open=fopen("log.txt","a" ); fwrite($open,$str); fclos ...
- visual asssit 过期提示
把目录下的VA_X.dll文件复制到上面所说的文件夹下覆盖源文件即可 对于vs2010的朋友需要额外注意,使用2010的朋友,是需要覆盖到Visual Studio 2010的Visual Assis ...
- SQL语句构建器类
问题 Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句.这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中.正如你已经看到的那样,MyBatis ...
- 10、NFC技术:读写NFC标签中的文本数据
代码实现过程如下: 读写NFC标签的纯文本数据.java import java.nio.charset.Charset; import java.util.Locale; import androi ...