首页

2010年5月29日星期六

jquery 实现网页上的表格可编辑状态!

//需要通过javascript解决内容部分奇数和偶数行的 背景不同

$(function(){
//找到表格里面的内容区域中除了第一个TR以外所有奇数行

//使用EVEN是为了吧通过tbody tr 返回的所有tr元素中,在数组里下标时偶数的元素返回,因为这些元素,实际上才是我们期望的tbody里的奇数行
$("tbody tr:even").css("background-color","#ECE9D8");
//找到表格里面得内容区域中所有偶数行
//$("tbody tr:odd").css("background-color","#938887");

//我们需要找到所有的编号单元格
var numTD = $("tbody td");
//给这些单元格注册鼠标点击的事件
numTD.click(function(){
   //找到当前鼠标点击的td,this对应的就是响应click的那个td
   var tdobj = $(this);
   if(tdobj.children("input").length > 0){
    //当前TD中input,不执行click处理
    return false;
   }
   var text = tdobj.html();
   //清空TD中的内容
   tdobj.html("");
   //创建文本框
   //去掉文本框的边框
   //设置文本框中字体大小为16xp
   //使文本框iangde宽度和TD的宽度相同
   //设置文本框的背景色
   //需要将当前的TD的内容放到文本框当中
   //将文本框插入到td中
   var inputObj = $("").css("border-width","0").css("font-size","16xp").width(tdobj.width()).css("background-color",tdobj.css("background-color")).val(text).appendTo(tdobj);
   //时文本框插入之后被选中
   inputObj.trigger("focus").trigger("select");
   inputObj.click(function(){
    return false;
   });
   //处理文本框上回车和ESC按键的操作
   inputObj.keyup(function(event){
    //获取当前按下键盘的键值
    var keycode = event.whith;
    //处理回车键的情况
    if(keycode == 13){
     //获取当前文本框中的内容
     var inputtext = $(this).val();
     //将TD的内容修改成文本框中的内容
     tdobj.html(inputtext);
  
    }
    //处理ESC按键的情况
    if(keycode == 27){
     //将TD中的内容还原成TEXT
     tdobj.html(text);
    }
   });

});
});

没有评论:

发表评论