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 相关文章推荐
Three.js源码阅读笔记(基础的核心Core对象)
Dec 27 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
Aug 25 Javascript
浅谈jQuery的offset()方法及示例分享
Jul 17 Javascript
JS实现超精简响应鼠标显示二级菜单代码
Sep 12 Javascript
jQuery版本升级踩坑大全
Jan 12 Javascript
AngularJS通过$location获取及改变当前页面的URL
Sep 23 Javascript
值得分享和收藏的xmlplus组件学习教程
May 05 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 Javascript
React Native基础入门之调试React Native应用的一小步
Jul 02 Javascript
记录一次完整的react hooks实践
Mar 11 Javascript
ios中视频的最后一桢问题解决
May 14 Javascript
Node.js中的异步生成器与异步迭代详解
Jan 31 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中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
php实现的debug log日志操作类实例
2016/07/12 PHP
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
如何搜索查找并解决Django相关的问题
2014/06/30 Python
Python聚类算法之基本K均值实例详解
2015/11/20 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
h5移动端调用支付宝、微信支付的实现
2020/06/08 HTML / CSS
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
运动会入场词60字
2014/02/15 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
家庭财产分割协议书范本
2014/11/24 职场文书
金砖之国观后感
2015/06/11 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
Redis RDB技术底层原理详解
2021/09/04 Redis