js 实现表格的可编辑状态

<table border="0" style="width:200px;margin:30px auto">
<tr><td>1</td><td>2</td><td><!-- <input type="button" value="编辑"> --><img src="edit.png" class="edit"></td></tr>
<tr><td>1</td><td>2</td><td><!-- <input type="button" value="编辑"> --><img src="edit.png" class="edit"></td></tr>
<tr><td>1</td><td>2</td><td><!-- <input type="button" value="编辑"> --><img src="edit.png" class="edit"></td></tr>
<tr><td>1</td><td>2</td><td><!-- <input type="button" value="编辑"> --><img src="edit.png" class="edit"></td></tr>
<tr><td>1</td><td>2</td><td><!-- <input type="button" value="编辑"> --><img src="edit.png" class="edit"></td></tr>
</table>
<script src="jquery-1.11.3.js"></script>
<script type="text/javascript">
$(function(){
$(".edit").click(function() {
//str = $(this).val()=="编辑"?"确定":"编辑";
//$(this).val(str); // 按钮被点击后,在“编辑”和“确定”之间切换
var str = $(this).attr("src")=="edit.png"?"phone.png":"edit.png";
$(this).attr("src",str);
$(this).parent().siblings("td").each(function() { // 获取当前行的其他单元格
var obj_text = $(this).find("input:text"); // 判断单元格下是否有文本框
if(!obj_text.length) // 如果没有文本框,则添加文本框使之可以编辑
$(this).html("<input type='text' value='" $(this).text() "'>");
else // 如果已经存在文本框,则将其显示为文本框修改的值
$(this).html(obj_text.val());
});
});
});
</script>
 说明:1、在table的某个单元格点击中,先取出该单元格的值,再将该值赋给一个input text,并将这个input text动态添加到这个单元格中,代码可以写成:
var tdvalue=$(this).val();
$(this).html("<input id='tempinput' type='text' value='" tdvalue "'/>");
2、当单元格失去焦点时,将文本框的值回填给单元格,代码写成:
$(this).html($("tempinput").val());
3、实际写代码时还要考虑临时加入的文本框的宽度要与单元格一致等内容。

简易效果图: 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值