修改 table 中某行的的方法步骤如下:
1、选择要修改的行,事件触发,比如我的 双击某行时修改
2、将要修改的行,替换为input,原先的列中的值,需要放到对应的input中作为默认值
3、修改完成后,事件触发将其还原,比如我的 如果鼠标移走,不在该行上时触发
$(function(){ $('tr.modifyType').dblclick(function(){ var oldid = $(this).find(".id").val().replace(/[ s]/g,""); var oldkeyCode= $(this).find(".keyCode").html().replace(/[ s]/g,""); var oldkeyName= $(this).find(".keyName").html().replace(/[ s]/g,""); var oldkeyType= $(this).find(".keyType").html().replace(/[ s]/g,""); var olddefaultValue= $(this).find(".defaultValue").html().replace(/[ 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>