编辑表格

//需要首先通过Javascript来解决内容部分奇偶行的背景色不同

//简化的ready写法;以往写法:$(document).ready(function(){  });

$(function(){

    //找到表格的内容区域中所有的奇数行

    //使用even是为了把通过tbody tr返回的所有tr元素中,

    //在数组里面下标是偶数的元素返回,因为这些元素,

    //实际上才是我们期望的tbody里面的奇数行

    //$("tbody tr:even").css("background-color","#ECE9D8");

   

    $.editTable = {

       setEditable:function(tableContainer){

           var numTd = $("#" + tableContainer + " table td");

           //给这些单元格注册鼠标点击的事件

           numTd.click(function() {  

              //找到当前鼠标点击的td,this对应的就是响应了click的那个td

              var tdObj = $(this);

              if (tdObj.children("input").length > 0) {

                  //当前td中input,不执行click处理

                  returnfalse;

              }

              var text = tdObj.html();

              //清空td中的内容

              tdObj.html("");

              //创建一个文本框

              //去掉文本框的边框

              //设置文本框中的文字字体大小是16px

              //使文本框的宽度和td的宽度相同

              //设置文本框的背景色

              //需要将当前td中的内容放到文本框中

              //将文本框插入到td

              var oldTdObjColor = tdObj.css("background-color");

              tdObj.css("background-color",$("#colorSave").css("background-color"));

              var inputObj = $("<input type='text'>").css("border-width","0")

                  .css("font-size","12px").width(tdObj.width())

                  .css("background-color",tdObj.css("background-color"))

                  .val(text).appendTo(tdObj);

              //是文本框插入之后就被选中

              inputObj.trigger("focus").trigger("select");

              inputObj.click(function() {

                  returnfalse;

              });

              //处理文本框上回车和esc按键的操作

              inputObj.keyup(function(event){

                  //获取当前按下键盘的键值

                  var keycode = event.which;

                  //处理回车的情况

                  if (keycode == 13) {

                     //获取当当前文本框中的内容

                     var inputtext = $(this).val();

                     //将td的内容修改成文本框中的内容

                     tdObj.html(inputtext);

                     tdObj.css("background-color",oldTdObjColor);

                  }

                  //处理esc的情况

                  if (keycode == 27) {

                     //将td中的内容还原成text

                     tdObj.html(text);

                     tdObj.css("background-color",oldTdObjColor);

                  }

              });

             

              inputObj.blur(function (event){

                  var inputtext = $(this).val();

                  //将td的内容修改成文本框中的内容

                  tdObj.html(inputtext);

                  tdObj.css("background-color",oldTdObjColor);

              });

           });

       },

       getContainerHtml:function (tableContainer){

           var htmlObj = $("#"+tableContainer);

           return htmlObj.html();

       }

    };

});

页面表格在浏览器中编辑,用js技术编写。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值