javascript如何实现一个table中的单元格变成文本框

ciweilijun 2010-02-26 09:35:23
例:
<table width="100%" align="center" id="mytbl" border="0" bgcolor="#EEEEEE">

<tr>
<td class="td_center">摘要</td>
<td class="td_center">账期</td>
<td class="td_center">合同</td>
<td class="td_center">收费项目</td>
<td class="td_center">收费次数</td>
<td class="td_center">系统金额</td>
<td class="td_center">调整金额</td>
<td class="td_center">实际收费金额</td>
<td class="td_center">客服</td>
<td class="td_center">业务员</td>
<td class="td_center">来源</td>
<td class="td_center">备注</td>
</tr>
<tr>
<td class="td_center"></td>
<td class="td_center"></td>
<td class="td_center"></td>
<td class="td_center"></td>
<td class="td_center"></td>
<td class="td_center"></td>
<td class="td_center"></td>
<td class="td_center"></td>
<td class="td_center"></td>
<td class="td_center"></td>
<td class="td_center"></td>
<td class="td_center"></td>
</tr>
</table>
<table>
<tr>
<td>
<input type="submit" name="sure" value="调整金额" class="2but" onClick="javascript:selPost()">
</td>
</tr>
</table>

点击调整金额按钮,所有金额的单元格都变成文本框可编辑的,如何做能做到啊,
...全文
377 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jack_liu4Ye 2010-02-26
  • 打赏
  • 举报
回复
在changeTotext中设置了双击后的输入框的ID

txt.id = "_text_000000000_";
ciweilijun 2010-02-26
  • 打赏
  • 举报
回复
请问二楼 if (document.getElementById("_text_000000000_") && event.srcElement.id != "_text_000000000_") 是什么意思啊,没有叫("_text_000000000_") 这个的Element啊

yixianggao 2010-02-26
  • 打赏
  • 举报
回复
Web 开发常用手册

JScript语言参考.rar
http://download.csdn.net/source/308916

DHTML参考手册.rar
http://download.csdn.net/source/308913

样式表中文手册.chm
http://download.csdn.net/source/304124
ciweilijun 2010-02-26
  • 打赏
  • 举报
回复
能写具体点吗,我是新手啊,谢谢
jack_liu4Ye 2010-02-26
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>单击单元格,将其变为文本框</title>
<style type="text/css">
<!--
body{font-size:12px;}
td {
border-width: 1px;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: solid;
text-align: center;
width: 25%;
height: 20px;
}
table {
border-width:1px;
border-right-style: solid;
border-bottom-style: solid;
border-top-style: none;
border-left-style: none;
border-color:#000;
}
.text { width: 95%;border: 1px dashed #FF9900; }
-->
</style>
<script language="javascript">
// 将单元格转化成文本框
function changeTotext(obj)
{
var tdValue = obj.innerText;
obj.innerText = "";
var txt = document.createElement("input");
txt.type = "text";
txt.value = tdValue;
txt.id = "_text_000000000_";
txt.setAttribute("className","text");
obj.appendChild(txt);
txt.select();
//obj.style.border = "1px dashed #ff9900";
}
// 取消单元格中的文本框,并将文本框中的值赋给单元格
function cancel(obj)
{
var txtValue = document.getElementById("_text_000000000_").value;
obj.innerText = txtValue;
}
/*********************************************/
// 事件
document.ondblclick = function()
{
if (event.srcElement.tagName.toLowerCase() == "td")
{
changeTotext(event.srcElement);
}

}
document.onmouseup = function()
{
if (document.getElementById("_text_000000000_") && event.srcElement.id != "_text_000000000_")
{
var obj = document.getElementById("_text_000000000_").parentElement;
cancel(obj);
}
}
</script>
</head>
<body>
<table width="50%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>dblclick</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>

这是一个双击后出现输入框的方法,LZ可以在这基础上加工一下!!!
squall_biming 2010-02-26
  • 打赏
  • 举报
回复
本身就带有文本框,式样DISPLAY:NONE,点击按钮改变DISPLAY就可以显示了
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-02-26 09:35
社区公告
暂无公告