jquery 在 table 中修改某行值

修改 table 中某行的的方法步骤如下:

1、选择要修改的行,事件触发,比如我的 双击某行时修改

2、将要修改的行,替换为input,原先的列中的值,需要放到对应的input中作为默认值

3、修改完成后,事件触发将其还原,比如我的 如果鼠标移走,不在该行上时触发

 

复制代码
$(function(){      
      $('tr.modifyType').dblclick(function(){
      var oldid = $(this).find(".id").val().replace(/[\r\n\s]/g,"");    
              var oldkeyCode= $(this).find(".keyCode").html().replace(/[\r\n\s]/g,""); 
              var oldkeyName= $(this).find(".keyName").html().replace(/[\r\n\s]/g,""); 
              var oldkeyType= $(this).find(".keyType").html().replace(/[\r\n\s]/g,"");         
              var olddefaultValue= $(this).find(".defaultValue").html().replace(/[\r\n\s]/g,"");  
      var type = '<select  class="keyType"   ><option value="text">text</option><option value="table">table</option>'
      +'<option value="image">image</option></select>';
      var str = '<input id="isDblFlag" type="hidden"><input class="id" type="hidden" value="'+oldid
      +'"><td class="keyCode">'+oldkeyCode
      +'</td><td><input type="text" class="keyName" value="'+oldkeyName
      +'"></td><td>'+type
      +'</td><td ><input type="text"class="defaultValue" value="'+olddefaultValue+'"></td>';

          $(this).html(str);          
    }).hover(function(){    
        $(this).addClass('keyhover');    
    },function(){ 
         if($("#isDblFlag").length>0)
          {
              var thisid = $(this).find(".id").val();    
              var keyCode= $(this).find(".keyCode").html(); 
              var keyName= $(this).find(".keyName").val(); 
              var keyType= $(this).find(".keyType").val();         
              var defaultValue= $(this).find(".defaultValue").val();    
             
               
              str = '<input class="id" type="hidden" value="'+thisid
              +'"><td class="keyCode">'+keyCode
              +'</td><td class="keyName">'+keyName
              +'</td><td class="keyType">'+keyType
              +'</td><td class="defaultValue">'+defaultValue+'</td>';
              $(this).html(str);
          }   
        $(this).removeClass('keyhover');    
    });
  });

复制代码

 

对应的html页面

复制代码

<style>
.keyhover
{
background-color:green
}
</style>


<
table class="table"> <tr><th>关键字</th><th>关键字含义</th><th>类型</th><th>默认值</th></tr> <tr class="modifyType"> <input class="id" type="hidden" value="id"> <td class="keyCode">keyCode</td> <td class="keyName">keyName</td> <td class="keyType">keyType</td> <td class="defaultValue">defaultValue</td> </tr> </table>
复制代码

 

posted @   panie2015  阅读(2981)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示