Jquery实现鼠标双击Table单元格变成文本框,输入内容并更新到数据库

JS鼠标双击事件 onDblClick

 <td width="10%" title="双击修改" ondblclick="ShowElement(this,<%#Eval("id") %>
</td>

 这里的本人用绑定的值是传的当前行对应的ID号,

复制代码
function ShowElement(element, productid, flag, ishotorcommend) {
    
if (flag == 0 && ishotorcommend == 0) {
        alert(
"请先设置该产品为推荐");
        
return;
    }
    
if (flag == 1 && ishotorcommend == 0) {
        alert(
"请先设置该产品为热销");
        
return;
    }
    
var oldhtml = element.innerHTML;//原单元格里的值
    var str = "<input type='text' name='test' style='width:50%;'";
    str 
+= "onkeypress='return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46'";
    str 
+= "onpaste='return !clipboardData.getData('text').match(/\D/)'";
    str 
+= "ondragenter='return false' />";
    
var newobj = document.createElement(str);   //创建新的input元素
  
    newobj.setAttribute(
"value", oldhtml);//把原来单元格中的值赋给文本框

    newobj.onblur 
= function() {

        element.innerHTML 
= this.value ? this.value : oldhtml; //当触发时判断新增元素值是否为空,为空则不修改,并返回原有值 
        var sort = element.innerHTML;
        $.get(
"UpdateFlag.ashx?sort=" + sort + "&&productid=" + productid + "&&flag=" + flag, function(data) { });
    }
    element.innerHTML 
= '';
    element.appendChild(newobj);
//把新的值赋到单元格
    newobj.focus();
}
复制代码

 

 

posted @   一只小青蛙  阅读(6694)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示
主题色彩