js修改table中Td的值(定义td的单击事件)

 更新时间:2013年01月10日 14:29:03   作者:  
单击事件,将Td内容更新为一个Div,其中装载了一个Text,用于用户输入新的Td的值,一个确定按钮,一个取消按钮,用于保存或取消用户的输入内容
项目做完,在测试验收时,用户突然提出,可以更改查询结果,便于打印。隐藏工程错误。但是这个时候提要求,比较头痛,后来,想了想还是用前台代码,这样,只要在项目的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中的数值范围介绍

    这篇文章主要介绍了JavaScript中的数值范围介绍,本文是对JavaScript中Number类型的追根究底,读完本文将会对Number类型有一个彻底了解,需要的朋友可以参考下
    2014-12-12
  • js实现表单多按钮提交action的处理方法

    js实现表单多按钮提交action的处理方法

    这篇文章主要介绍了js实现表单多按钮提交action的处理方法,需要的朋友可以参考下
    2015-10-10
  • JS实现的base64加密、md5加密及sha1加密详解

    JS实现的base64加密、md5加密及sha1加密详解

    这篇文章主要介绍了JS实现的base64加密、md5加密及sha1加密的方法,结合实例形式详细分析了JavaScript各种常见加密方法与实现技巧,需要的朋友可以参考下
    2016-04-04
  • JavaScript实现密码框验证信息

    JavaScript实现密码框验证信息

    这篇文章主要为大家详细介绍了JavaScript实现密码框验证信息,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • javascript实现画板功能

    javascript实现画板功能

    这篇文章主要为大家详细介绍了javascript实现画板功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • 网页防止tab键的使用快速解决方法

    网页防止tab键的使用快速解决方法

    在弹出层后,tab键还可以在目页中操作,这回导致脚本错误。那么我们如果避免这种情况呢?下面小编就为大家介绍一下如何解决这个问题
    2013-11-11
  • JS模拟面向对象全解(二、类型与赋值)

    JS模拟面向对象全解(二、类型与赋值)

    上次,我讲了有关类型区别和传递的问题,现在,我给大家在插上一点有关类型赋值的问题。
    2011-07-07
  • JavaScript判断对象、数组是否包含某个属性、某个值的方法

    JavaScript判断对象、数组是否包含某个属性、某个值的方法

    这篇文章主要给大家介绍了关于JavaScript判断对象、数组是否包含某个属性、某个值的相关资料,我们在实际的开发过程中,经常需要判断对象/数组是否包含某个属性或者某个值,需要的朋友可以参考下
    2023-09-09
  • JavaScript 计算笛卡尔积实例详解

    JavaScript 计算笛卡尔积实例详解

    这篇文章主要介绍了JavaScript 计算笛卡尔积实例详解的相关资料,这里附有实例代码,需要的朋友可以参考下
    2016-12-12
  • js 判断当前时间是否处于某个一个时间段内

    js 判断当前时间是否处于某个一个时间段内

    这篇文章主要介绍了js 判断当前时间是否处于某个一个时间段内,使用 jutils - JavaScript常用函数库的 isDuringDate 函数来实现,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09

最新评论