js修改table中Td的值(定义td的单击事件)


Posted in Javascript onJanuary 10, 2013

项目做完,在测试验收时,用户突然提出,可以更改查询结果,便于打印。隐藏工程错误。但是这个时候提要求,比较头痛,后来,想了想还是用前台代码,这样,只要在项目的JS文件中,加入以下几个函数,便可以解决了。

/* 
页面装载时,为每个td增加单击事件,这样,就可以不用对每个页面进行更改。 
*/ 
function ReWritable() 
{ 
var tbmian=document.getElementById("tbmain"); 
for(var i=0;i<tbmain.rows.length;i++) 
{ 
for(var j=0;j<tbmain.rows[i].cells.length;j++) 
{ 
/* 
添加单击事件属性。此处不可使用setAttribute方法。 
*/ 
tbmain.rows[i].cells[j].onclick=AddObjOfText; 
} 
} 
} 
/* 
单击事件,将Td内容更新为一个Div,其中装载了一个Text,用于用户输入新的Td的值, 
一个确定按钮,一个取消按钮,用于保存或取消用户的输入内容。 
一个Hidden,保存用户输入新值前的Td的值,以便用户取消时恢复。 
*/ 
function AddObjOfText() 
{ 
var tdcag=document.getElementById("tdcag"); 
if(tdcag!=null) 
{ 
return; 
} 
var tdid=window.event.srcElement; 
var tdtxt=tdid.innerText; 
var str="<div id='tdcag'><input type='text' id='txtId' value='"+tdtxt+"'>"; 
str+="<input type='button' value='确定' onclick='ChangeTdText()'>"; 
str+="<input type='button' value='取消' onclick='CancelTdChanged()'>"; 
str+="<input type='hidden' id='tdInitValue' value='"+tdtxt+"'>"; 
str+="</div>"; 
tdid.innerHTML=str; 
} 
/* 
取消更改,把Hidden值赋给Td 
*/ 
function CancelTdChanged() 
{ 
var tdInitValue=document.getElementById("tdInitValue"); 
var tdtxt=tdInitValue.value; 
var tdid=document.getElementById("tdcag").parentNode; 
tdid.innerText=tdtxt; 
} 
/* 
保存用户更改,把Text值赋值给Td 
*/ 
function ChangeTdText() 
{ 
var txtId=document.getElementById("txtId"); 
var tdid=document.getElementById("tdcag").parentNode; 
tdid.innerText=txtId.value; 
}

这样,在页面的<body>中,添加onload事件,其值赋为:ReWritable(),如下:
<body onload="ReWritable();"> 
<table id="tbmain" style="width:100%;" border="1"> 
<tr> 
<td>11 
</td> 
<td>12 
</td> 
<td>13 
</td> 
</tr> 
<tr> 
<td>21 
</td> 
<td>22 
</td> 
<td>23 
</td> 
</tr> 
<tr> 
<td>31 
</td> 
<td>32 
</td> 
<td>33 
</td> 
</tr> 
</table> 
</body>

这样,每个Td中,便添加了一个单击事件。
Javascript 相关文章推荐
js 异步处理进度条
Apr 01 Javascript
利用jquery写的左右轮播图特效
Feb 12 Javascript
javascript将相对路径转绝对路径示例
Mar 14 Javascript
js获取当前页面的url网址信息
Jun 12 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
Jan 13 Javascript
js 判断登录界面的账号密码是否为空
Feb 08 Javascript
详解用webpack2.0构建vue2.0超详细精简版
Apr 05 Javascript
JS中去掉array中重复元素的方法
May 26 Javascript
react native与webview通信的示例代码
Sep 25 Javascript
从零开始搭建webpack+react开发环境的详细步骤
May 18 Javascript
详解webpack2异步加载套路
Sep 14 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 Vue.js
js修改table中Td的值(定义td的双击事件)
Jan 10 #Javascript
javascript之Partial Application学习
Jan 10 #Javascript
javascript之典型高阶函数应用介绍二
Jan 10 #Javascript
javascript之典型高阶函数应用介绍
Jan 10 #Javascript
根据json字符串生成Html的一种方式
Jan 09 #Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
Jan 09 #Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
Jan 09 #Javascript
You might like
浅析PHP开发规范
2018/02/05 PHP
Js获取事件对象代码
2010/08/05 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
jquery删除指定子元素代码实例
2015/01/13 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
angular2使用简单介绍
2016/03/01 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
python练习程序批量修改文件名
2014/01/16 Python
基于Python的关键字监控及告警
2017/07/06 Python
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
Python 发送邮件方法总结
2020/08/10 Python
python多线程爬取西刺代理的示例代码
2021/01/30 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
耐克亚太地区:Nike APAC
2019/12/07 全球购物
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
试述DBMS的主要功能
2016/11/13 面试题
GC是什么?为什么要有GC?
2013/12/08 面试题
管理心得体会
2013/12/28 职场文书
安全事故检讨书
2014/01/18 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
2014年小学工作总结
2014/11/26 职场文书
2015年五四青年节演讲稿
2015/03/18 职场文书
从严治党主题教育活动总结
2015/05/07 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python