六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 134|回复: 0

动态表格的实现

[复制链接]

升级  30%

3

主题

3

主题

3

主题

童生

Rank: 1

积分
15
 楼主| 发表于 2013-2-7 21:13:55 | 显示全部楼层 |阅读模式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE>动态表格</TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""><script type="text/javascript">function addOneRow(){  //判断是否传入足够参数 if(arguments.length <= 1 ){  return "error"; } try{  //获取table句柄  var tb=document.getElementById(arguments[0]);  //添加一行  var newTr = tb.insertRow();  for(var i=1 ;i < arguments.length;i++){     //添加一列   var newTd = newTr.insertCell();   newTd.innerHTML = arguments[i];   } }catch (e) {  return e.toString(); } return "true";}function deleteOneRow(){  //判断是否传入足够参数 if(arguments.length == 0){  return "error"; } var thisTag = arguments[0]; try{  //获取句柄  var obj = getThisObj(thisTag);   //寻找最靠近的table  while (obj.nodeName.toUpperCase() != 'TABLE'){     obj =obj.parentElement;    }   //删除一行  var newTr = obj.deleteRow(getTrRowOfTable(thisTag));  }catch (e) {  return e.toString(); } return "true";}function getTableMaxRow(){ //判断是否传入足够参数 if(arguments.length == 0 ){  return "error"; } try{  //获取句柄  var obj = getThisObj(arguments[0]);   //寻找最靠近的table  while (obj.nodeName.toUpperCase() != 'TABLE'){     obj =obj.parentElement;    }  return obj.rows.length; }catch (e) {  return e.toString(); }}function getTrRowOfTable(){ //判断是否传入足够参数 if(arguments.length == 0 ){  return "error"; } try{  //获取传入标签的句柄  var obj = getThisObj(arguments[0]);   //寻找最靠近的TR  while (obj.nodeName.toUpperCase() != 'TR'){     obj =obj.parentElement;    }  //返回TR的行号   return obj.rowIndex; }catch (e) {  //返回异常信息  return e.toString(); }}//获取指定标签的句柄function getThisObj(){ var obj; //若定义了id if(arguments[0].id != ""){  obj=document.getElementById(arguments[0].id);  return obj; }  //若定义了name if(arguments[0].name != ""){  //通过name取句柄得到的是个数组,所以必须保证该name页面唯一  obj=document.getElementsByName(arguments[0].name)[0];    return obj; }}function showInfo(){ //显示本行号 alert("当前行号为:"+ getTrRowOfTable(arguments[0])); //显示总行数 alert("总行数为:"+ getTableMaxRow(arguments[0]));}var rowId=1;function addRow(){ var tagStr="<input type=text value=ccc name="+rowId+" onclick='addRow();showInfo(this)' onchange='deleteOneRow(this);'>"; addOneRow("tb",tagStr); rowId++;}</script></HEAD><BODY > <table id="tb"></table></BODY></HTML>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表