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计数器代码
Nov 04 Javascript
JavaScript中用于生成随机数的Math.random()方法
Jun 15 Javascript
JS平滑无缝滚动效果的实现代码
May 06 Javascript
第一次接触神奇的Bootstrap
Oct 14 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
Nov 24 Javascript
JS高级运动实例分析
Dec 20 Javascript
Vue+SpringBoot开发V部落博客管理平台
Dec 27 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
Apr 25 Javascript
element-ui表格合并span-method的实现方法
May 21 Javascript
微信小程序如何实现radio单选框单击打勾和取消
Jan 21 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
Mar 10 Javascript
Javascript中window.name属性详解
Nov 19 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生成短域名函数
2015/03/23 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
通过url查找a元素应用案例
2014/04/29 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
2015/10/29 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
2016/06/16 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
利用Python中unittest实现简单的单元测试实例详解
2017/01/09 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
python3中函数参数的四种简单用法
2018/07/09 Python
对python for 文件指定行读写操作详解
2018/12/29 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
ShellScript面试题一则-ShellScript编程
2014/03/05 面试题
交通事故赔偿协议书
2014/04/15 职场文书
物理教育专业求职信
2014/06/25 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang
Javascript webpack动态import
2022/04/19 Javascript
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL