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 27 Javascript
formValidator3.3的ajaxValidator一些异常分析
Jul 12 Javascript
jQuery 快速结束当前正在执行的动画
Nov 20 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
Mar 19 Javascript
Webpack 实现 AngularJS 的延迟加载
Mar 02 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
Jun 17 Javascript
Angular.JS去掉访问路径URL中的#号详解
Mar 30 Javascript
ReactNative之FlatList的具体使用方法
Nov 29 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
Sep 14 Javascript
vuex提交state&amp;&amp;实时监听state数据的改变方法
Sep 16 Javascript
IE8中jQuery.load()加载页面不显示的原因
Nov 15 jQuery
判断JavaScript中的两个变量是否相等的操作符
Dec 21 Javascript
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 clearstatcache()函数详解
2010/03/02 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
C/S和B/S两种架构区别与优缺点分析
2014/10/23 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
2015/09/23 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
php给数组赋值的实例方法
2019/09/26 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
jQuery.Validate验证库的使用介绍
2013/04/26 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
python+mysql实现简单的web程序
2014/09/11 Python
python批量生成本地ip地址的方法
2015/03/23 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
使用python计算三角形的斜边例子
2020/04/15 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
美国性感女装网站:bebe
2017/03/04 全球购物
经济实惠的名牌太阳镜和眼镜:Privé Revaux
2021/02/07 全球购物
药学专业个人的自我评价
2013/12/31 职场文书
天地会口号
2014/06/17 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
详解Vue的列表渲染
2021/11/20 Vue.js
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL