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 相关文章推荐
javascript 写类方式之九
Jul 05 Javascript
js调用css属性写法
Sep 21 Javascript
jQuery中unwrap()方法用法实例
Jan 16 Javascript
使用pjax实现无刷新更改页面url
Feb 05 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
Dec 08 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
Dec 18 Javascript
webpack配置导致字体图标无法显示的解决方法
Mar 06 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
Apr 04 Javascript
浅谈Node.js 中间件模式
Jun 12 Javascript
vue el-table实现行内编辑功能
Dec 11 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
Feb 07 Javascript
JavaScript TAB栏切换效果的示例
Nov 05 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提高编程效率的20个要点
2015/09/23 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
Javascript 获取LI里的内容
2008/12/17 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
jQuery中triggerHandler()方法用法实例
2015/01/19 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
Python遍历指定文件及文件夹的方法
2015/05/09 Python
Python中的多行注释文档编写风格汇总
2016/06/16 Python
Python使用smtp和pop简单收发邮件完整实例
2018/01/09 Python
django settings.py 配置文件及介绍
2019/07/15 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
python利用opencv实现SIFT特征提取与匹配
2020/03/05 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
python中re模块知识点总结
2021/01/17 Python
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
劳资专员岗位职责
2013/12/27 职场文书
建房协议书
2014/04/11 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
跳蚤市场口号
2014/06/13 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
行政复议答复书
2015/07/01 职场文书
公司联欢会主持词
2015/07/04 职场文书
九年级数学教学反思
2016/02/17 职场文书