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 相关文章推荐
jQuery用unbind方法去掉hover事件及其他方法介绍
Mar 18 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
May 07 Javascript
8个超实用的jQuery功能代码分享
Jan 08 Javascript
12306验证码破解思路分享
Mar 25 Javascript
使用AngularJS处理单选框和复选框的简单方法
Jun 19 Javascript
详解AngularJS中自定义过滤器
Dec 28 Javascript
JavaScript实现Base64编码转换
Apr 23 Javascript
js+html5实现canvas绘制网页时钟的方法
May 21 Javascript
Node.js的Koa框架上手及MySQL操作指南
Jun 13 Javascript
js输入框使用正则表达式校验输入内容的实例
Feb 12 Javascript
mpvue构建小程序的方法(步骤+地址)
May 22 Javascript
微信小程序聊天功能的示例代码
Jan 13 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 数组处理函数extract详解及实例代码
2016/11/23 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
2007/04/20 Javascript
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
[01:18:45]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第三场2月1日
2021/03/11 DOTA
Python实现端口复用实例代码
2014/07/03 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
Django启动时找不到mysqlclient问题解决方案
2020/11/11 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
Linux面试题LINUX系统类
2014/11/19 面试题
培训心得体会
2013/12/29 职场文书
文明礼仪事迹材料
2014/01/09 职场文书
小学家长学校培训材料
2014/08/24 职场文书
四风查摆剖析材料
2014/10/10 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL