用css和jQuery实现简单表格编辑

首先做一个简单的表格
 <table>
  <thead>
   <tr>
    <td colspan="2">可以编辑的表格</td>
   </tr>
  </thead>
  <tbody>
   <tr>
    <th>学号</th>
    <th>姓名</th>
   </tr>
   <tr>
    <td>1001</td>
    <td>张三</td>
   </tr>
   <tr>
    <td>1002</td>
    <td>李四</td>
   </tr>
   <tr>
    <td>1003</td>
    <td>王二</td>
   </tr>
   <tr>
    <td>1004</td>
    <td>麻子</td>
   </tr>
  </tbody>
 </table>


css代码
/* CSS Document */
table{
 border: 1px solid black;
 /*修正单元格直接的边框不能合并*/
 border-collapse:collapse;
 width:400px;
}
table td{
 border:1px solid black;
 width:50%;
}
table th{
 border:1px solid black;
 width:50%;
}
tbody th{
 background-color:#CCCCFF
}


js代码
// JavaScript Document
$(function(){
   //找到表格内容区域偶数行,更改背景色
      $("tbody tr:even").css("background-color","#ECE9D8");
   var numTd = $("tbody td:even");
   numTd.dblclick(function(){
     var tdObj = $(this);
     var txt;
     if(tdObj.index("input")==1)
     txt="";
     else
     txt = tdObj.html();
     tdObj.html("");
     //创建一个文本框,去掉边框,设置字体,设置文本框背景色,放入td中
     var inputObj = $("<input type='text'>").css("border-width","0").css("font-size","16px").width(tdObj.width())
     .css("background-color",tdObj.css("background-color")).val(txt)
     .appendTo(tdObj);
     /*inputObj.focus(function(){
    inputObj.select();      
     });*/
     //是文本框插入之后立即被选中
     inputObj.trigger("focus").trigger("select");
     inputObj.click(function(){
          return false;
      });
     inputObj.keyup(function(event){
    var keyCode = event.which;
    //回车
    if(keyCode == 13){
      var inputText = $(this).val();
      tdObj.html(inputText);
    }
    //ESC
    if(keyCode == 27){
     tdObj.html(txt);
    }
      });
   });
});

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值