<!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 动态生产表格的更多相关文章

  1. DOM动态添加表格

    var table=document.createElement("table"); table.border=1; var b=document.createElement(&q ...

  2. Javascript高级编程学习笔记(45)——DOM 操作表格及DOM动态集合

    操作DOM表格 早些时候,HTML 还是以表格布局为主, 所以DOM操作表格是比较重要的一点 但是现如今 有其它的选择,所以表格的操作也就慢慢地淡出了人们的视线 所以这里也就不过多去详细展开,这里也就 ...

  3. [HTML]js动态修改表格里面的内容

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/T ...

  4. JavaScript DOM动态创建(声明)Object元素

    http://www.cnblogs.com/GuominQiu/archive/2011/04/01/2002783.html 一文提及“等整个页面加载完毕后,根据用户所选的阅读机类型,再用Java ...

  5. jquery动态创建表格

    1.代码实例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  6. 利用javascript动态创建表格

    //说明:实现功能.原理上文相同.不过这次是利用已有的简单的方法创建行和列,并实现内容行鼠标移入变色功能! 效果图: /*两个方法 1.  trNode  table.insertRow(-1)    ...

  7. js如何实现动态在表格中添加标题和去掉标题?

    js如何实现动态在表格中添加标题和去掉标题? 一.总结 1.通过table标签的createCaption(),deleteCaption()方法实现. document.getElementById ...

  8. javascript动态创建表格:新增、删除行和列

    转载:http://www.cnblogs.com/pato/archive/2009/09/02/1559068.html 利用js来动态创建表格有两种格式,appendChild()和insert ...

  9. javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

    jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...

随机推荐

  1. NDK(6)eclipse下断点调试ndk代码

    Using the NDK Plugin 1. First set the path to SDK and NDK: Eclipse -> Window -> Preferences -& ...

  2. NDK(2)使用eclipse + ndk开发过程演示,含CPU架构编译

    环境linux + eclipse + adt + ndk 1,在ide中配置ndk 下载ndk,在eclipse中配置 2,使用ndk编程 2.1 给项目添加ndk 支持 右键 项目名 --> ...

  3. apache for mac OX S 10.10

    mac下如何针对 apache 设置虚拟目录呢?可能很多人都设置过,但也都不太会,每次都是网上找文章啥的.这里,我自己整理了一点,希望可以帮到大家. 还原 httpd.conf 配置文件 如果,你现在 ...

  4. JavaScript高级编程(一)

    书中第2章,在HTML中使用JavaScript摘要总结 2.1 <script>元素 <script>中的5个属性:charset:可选.表示通过src属性指定的代码的字符集 ...

  5. 51nod1199 Money out of Thin Air

    链剖即可.其实就是利用了链剖后子树都在一段连续的区间内所以可以做到O(logn)查询和修改. 线段树细节打错了..要专心!肉眼差错都能找出一堆出来显然是不行的!. #include<cstdio ...

  6. 一招解决OpenERP8.0安装旧版模块报错

    有喜欢尝鲜的网友开始玩8.0了,可是版本还没发布,社区的很多特别好的模块还没有升级到8,所以经常碰到模块无法安装的问题. No module name osv 网友提出将模块的 from osv im ...

  7. window下python 扩展库安装 使用第三方镜像源

    0.前言     由于python的官方镜像位于国外,若使用pip或者easy_install安装第三方插件时或许会被限制,甚至连easy_install或pip也无法安装,例如在windows环境下 ...

  8. HDU 5344 MZL's xor (水题)

    题意:给一个序列A,设序列B的中的元素有(Ai+Aj)(1≤i,j≤n),那么求B中所有元素的异或之和.而序列A是这样来的:A1=0,Ai=(Ai−1∗m+z) mod l. 思路:相同的元素异或结果 ...

  9. 学习java之泛型类和泛型方法

    上一篇博文中我自己试着用了下泛型类,昨天看java编程思想一书,发现里面有这么一段话: 使用参数化方法而不是用参数化类的方便之处在于:你不必为需要应用的每种不同类型都使用一个参数去实例化这个类,并且你 ...

  10. ecshop 在首页每个商品下显示已销售数量

    1.在includes/lib_goods.php文件末尾加入以下代码 function get_buy_sum($goods_id) { $sql = "select sum(goods_ ...