js和jQuery实现双击表格变为可编辑状态

看到别人的代码,自己分析加的备注,直接上代码!

<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">
/*  
修改的id值和单元格的值,可转成json串
用ajax提交数据到后台,后台解析json,更新数据库
*/
// 将单元格转化成文本框 
function changeTotext(obj) {
//获取标签内的文本值
var tdValue = obj.innerText;
alert(tdValue);
obj.innerText = "";
//创建input标签对象
var txt = document.createElement("input");
txt.type = "text";
//将文本值赋给input的value
txt.value = tdValue;
//新建input的id值(可以用数据库的ID值)
txt.id = "_text_000000000_";
//添加input节点,并放到td中
obj.appendChild(txt);
//选取域中的文本(双击时文本全选)
txt.select();
//双击之后改变样式
//单元格边框样式
obj.style.border = "1px dashed #ff9900"; 
//input标签边框
txt.style.border = "0px";
txt.style.outline = "none";
}
// 取消单元格中的文本框,并将文本框中的值赋给单元格 
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>eqweqwe</td>
<td>qeqe</td>
<td>ewqeq</td>
</tr>
</table>
</body>


http://blog.mn886.net/jqGrid/

可以去jqgrid的demo详细查看

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值