上一个功能有点少,这个V1.0版本是最小集合的。

=================================

双击单元格编辑,可以添加,删除单元格。并且保持相邻单元格不同的背景色。

引用了“My97DatePicker”日历插件。

开始使用

.edtitable tbody tr:nth-child(odd) td,
.edtitable tbody tr:nth-child(odd) th {
background-color: #EEF4F5;
}
.edtitable tbody tr:last-child td{
background-color: #ECE9D8!important;
}

这段css3来实现相邻变色,无奈不支持ie8,故放弃。最后使用jq点击使得相邻不同的背景色。

=================核心JS代码======================

//需要首先通过Jq来解决内容部分奇偶行的背景色不同
$(document).ready(function(){
//找到表格的内容区域中所有的奇数行
//使用even是为了把通过tbody tr返回的所有tr元素中,
//在数组里面下标是偶数的元素返回,因为这些元素,
//实际上才是我们期望的tbody里面的奇数行
$("tbody tr:even").css("background-color","#EEF4F5");
trEdit();//td的点击事件封装成一个函数
});

/*下面兩段开始添加删除行**/
$(document).ready(function() {
$("#addBtn").bind("click", function(){
$("<tr><td></td><td></td><td class='Wdate-col'><input class='Wdate' type='text' onClick='WdatePicker()'/></td><td class='del-col'><a href='javascript:void(0);' class='delBtn'>删除</a></td></tr>").insertBefore(".append-row");
trEdit();
delTr();
$("tbody tr:even").css("background-color","#EEF4F5");
});
delTr();
});

//删除
function delTr(){
$(".delBtn").click(function(){
$(this).parent().parent().remove();
$("tbody tr").css("background-color","#FFF");//先清空,在赋值
$("tbody tr:even").css("background-color","#EEF4F5");
});
}
/*
function even(){
$("tbody tr:even").css("background-color","#ECE9D8");
}*/

//我们需要找到所有的单元格
function trEdit(){
var numTd = $("tbody td").not(".del-col,.Wdate-col");
//给这些单元格注册鼠标点击的事件
numTd.dblclick(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("");
//创建一个文本框
//去掉文本框的边框
//设置文本框中的文字字体大小是12px
//使文本框的宽度和td的宽度相同
//设置文本框的背景色
//需要将当前td中的内容放到文本框中
//将文本框插入到td中
var inputObj = $("<input type='text'>").css({"border-width":"0","height":"28px","font-size":"12px","text-align":"center"})
.width(tdObj.width())
.css("background-color",tdObj.css("background-color"))
.val(text).appendTo(tdObj);
//是文本框插入之后就被选中
inputObj.trigger("focus").trigger("select").css("background-color","#CDCC34");
//下面这段是失去焦点
inputObj.blur(function(){
var value=inputObj.val();
inputObj.parent().html(value);//找到input的父元素td,获取当前数值
});
inputObj.click(function() {
return false;
});
//处理文本框上回车和esc按键的操作
inputObj.keyup(function(event){
//获取当前按下键盘的键值
var keycode = event.which;
//处理回车的情况
if (keycode == 13) {
//获取当当前文本框中的内容
var inputtext = $(this).val();
//将td的内容修改成文本框中的内容
tdObj.html(inputtext);
}
//处理esc的情况
if (keycode == 27) {
//将td中的内容还原成text
tdObj.html(text);
}
});
});
}

=======================================

链接地址:http://files.cnblogs.com/files/leshao/EditTable-V1.0.rar

css3实现的链接:http://files.cnblogs.com/files/leshao/EditTable-css3.rar(不支持ie8)

======================

特此感谢雨安合一大侠,天意,员外,午夜等朋友。

EditTable-V1.0--续集的更多相关文章

  1. Git异常:fatal: V1.0 cannot be resolved to branch.

    GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ———————————————————————————————————————— ...

  2. 自己动手写计算器v1.0

    今天突发奇想,想着看了还几个设计模式了,倒不如写点东西来实践它们.发现计算器这种就比较合适,打算随着设计模式的学习,会对计算器不断的做改进. 包括功能的增加和算法的改进.初学者难免犯错,希望大家不吝指 ...

  3. ASP.NET Boilerplate终于发布v1.0了

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:ABP经过2年多的开发,终于发布第一个主要版本了,谨此提醒ABP的使用者. ASP.N ...

  4. 【JS】heatmap.js v1.0 到 v2.0,详细总结一下:)

    前段时间,项目要开发热力图插件,研究了heatmap.js,打算好好总结一下. 本文主要有以下几部分内容: 部分源码理解 如何迁移到v2.0 v2.0官方文档译文 关于heatmap.js介绍,请看这 ...

  5. 图像处理工具V1.0

    图像处理工具V1.0(仿彗星图片处理工具.VS2015安装界面)----个人无聊作品 以下是界面: 部分代码一.(摘自网络----加水印代码): public static void ImageWat ...

  6. reGeorg v1.0内网流量转发

    reGeorg v1.0 git Usage $ reGeorgSocksProxy.py [-h] [-l] [-p] [-r] -u [-v] Socks server for reGeorg H ...

  7. 【原创】风讯DotNetCMS V1.0~V2.0 SQL注入漏洞

      文章作者:rebeyond 注:文章首发I.S.T.O信息安全团队,后由原创作者友情提交到乌云-漏洞报告平台.I.S.T.O版权所有,转载需注明作者. 受影响版本:貌似都受影响. 漏洞文件:use ...

  8. 屏幕监视专家 v1.0 定时录制屏幕动画发送到指定邮箱

    ScreenWatcher v1.0功能:定时录制屏幕动画发送到指定邮箱,录制的动画为gif,可指定录制多长时间.指定几点直接开始录制,完全后台运行.作者:Bluefish 下载链接: http:// ...

  9. 03-c#入门(简易存款利息计算器v1.0)

    本想把练习题做了的结果放上来,不过发现附录是有答案的,就算了吧,自己做了没问题就行了哈.之前提到过,要是有朋友有想法,需要做小工具我可以帮忙实现,不过貌似大家都很忙.SO,自己学完第4章后,决定做一个 ...

  10. C#写爬虫,版本V1.0

    之前看了Sql Server中的基本数据类型,发现image这个类型还是比较特殊的. 于是乎就做了一个将图片以二进制流形式存储的程序http://www.cnblogs.com/JsonZhangAA ...

随机推荐

  1. 探索版 webstorm快捷方式

    ctrl + alt + s            打开配置面板 Settings   国内的资料比较少,大概很多人已经放弃了原生快捷方式,不过我打算通关原生快捷方式.   在配置面板中  IDE S ...

  2. ExtJs 带参数的MVC

    题记:研究使用ext两个星期了,从痛苦中逐渐走向明朗. 展示列表的子列表的数据时需要将当前的数据传给下一个mvc. 比如用户列表,点击一个用户查看该用户的日志列表. 首先是controller,放一个 ...

  3. 走进Linux01-磁盘分区与文件夹结构

    近期学习Linux,首先安装系统,遇到了磁盘分区.之前仅仅知道Linux分区是从/(根文件夹)開始的,至于磁盘格式,多块盘怎样挂载全然不了解,系统的查询了一下Linux磁盘分区和文件夹结构,整理一下. ...

  4. HDFS对象存储--Ozone架构设计

    前言 如今做云存储的公司非常多,举2个比較典型的AWS的S3和阿里云.他们都提供了一个叫做对象存储的服务,就是目标数据是从Object中进行读写的,然后能够通过key来获取相应的Object,就是所谓 ...

  5. Mybatis+Oracle批处理

    1. 批处理 插入 非常多时候都涉及到一系列数据的插入,通过mybatis的动态sql语句可以非常好的解决问题.当然.oracle已经提供了批插入的语句: insert into students s ...

  6. vue-router实例

    最近刚刚用vue写了个公司项目,使用vue-cli构建的,算是中大型项目吧,然后这里想记录并且分享一下其中的知识点,希望对大家有帮助,后期会逐渐分享:话不多说,直接上代码!! main.js // T ...

  7. Python3.x和Python2.x的区别【转】

    转载自:https://www.cnblogs.com/codingmylife/archive/2010/06/06/1752807.html 1.性能 Py3.0运行 pystone benchm ...

  8. intellij IDEA里各图标对应的文件类型

    本篇内容为大家提供的是IntelliJ IDEA 使用教程中的常见文件类型的图标介绍,IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一, ...

  9. 关于在Windows下Composer下载安装Yii2.0

    先是composer的安装,主要有两个方式,一个直接下载安装包安装,Composer-steup.exe文件,第二种直接下载composer.phar文件,用php去运行这个文件可以一样起到作用,之后 ...

  10. 【java】HashSet

    package com.tn.hashSet; public class Person { private int id; private String name; private String bi ...