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" ...
随机推荐
- dotfuscator初步
从此链接下载的http://www.uzzf.com/soft/85836.html 1.安装之前,先去控制面板将VS自带的dotfuscator卸载掉 2.关闭360安全卫士 3.安装下载的程序 安 ...
- ViewPager的监听事件失效
主要是因为在我项目使用了PageIndicator,所以这个时候监听事件要写在PageIndicator上. mIndicator.setOnPageChangeListener(new OnPage ...
- android 启动第三方程序的代码
//启动媒体库 Intent i = new Intent(); ComponentName comp = new ComponentName("com.android.camera&q ...
- poj 1934(LCS)
转自:http://www.cppblog.com/varg-vikernes/archive/2010/09/27/127866.html 1)首先按照常规的方法求出最长公共子序列的长度也就是用O( ...
- Codeforces Round #275 (Div. 2)
A. Counterexample 题意:给出l,r,找出使得满足l<a<b<c<r,同时满足a,b的最大公约数为1,b,c的最大公约数为1,且a,b的最大公约数不为1 因为题 ...
- mokoid android open source HAL hacking in a picture
/************************************************************************** * mokoid android HAL hac ...
- HDU 5316 Magician (线段树,单值修改,微变形)
题意:给一个初始序列A[1,n],第j个数字代表精灵j的power值,有两种操作:(1)查询区间[L,R] (2)修改某个精灵的power值. 但,查询的是区间[L,R]中一个美丽子序列sub[l,r ...
- HDU 1018 Big Number (阶乘位数)
题意: 给一个数n,返回该数的阶乘结果是一个多少位(十进制位)的整数. 思路: 用对数log来实现. 举个例子 一个三位数n 满足102 <= n < 103: 那么它的位数w 满足 w ...
- HDU 3573 Buy Sticks (逻辑)
题意:a,b,c三种棍子长度分别为20,28,32,现需要这三种棍子数根,欲买长为75的棍子来剪成这三种(不够长的就废弃) ,问需要买多少根. 思路:将所有棍子尽可能和其他搭配起来,使得数量减到最少. ...
- PHP Simple HTML DOM Parser Manual-php解析DOM
PHP Simple HTML DOM Parser Manual http://www.lupaworld.com/doc-doc-api-770.html PHP Simple HTML DOM ...