jquery学习笔记二 实现可编辑的表格


Posted in Javascript onApril 09, 2010

实现可编辑的表格demo:

实例图:
jquery学习笔记二 实现可编辑的表格

代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<script type="text/jscript" src="jquery-1.4.2.min.js"></script> 
<script type="text/jscript" language="javascript"> 
//简化的ready写法:页面加载完成时候调用 
$(function() { 
//将tbody内的偶数tr的背景颜色设置为#ECE9D8 
$("tbody tr:even").css("background-color", "#ECE9D8"); 
//将tbody内的偶数td设置为numTd 
var numTd = $("tbody td:even"); 
//给这些单元格注册鼠标点击的事件 
numTd.click(function() { 
//取点击到元素的jquery对象 
var tdObj = $(this); 
//如果点击的元素包含input控件则不执行click处理 
if (tdObj.children("input").length > 0) { 
return false; 
} 
//取td内容附值到text 
var text = tdObj.html(); 
//清空td中的内容 
tdObj.html(""); 
//创建一个文本框,去掉文本框的边框,设置文本框中的文字字体大小是16px 
//使文本框的宽度和td的宽度相同,设置文本框的背景色,需要将当前td中的内容放到文本框中 
//将文本框插入到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(text).appendTo(tdObj); 
//设置触发器先触发focus事件再触发select事件 
inputObj.trigger("focus").trigger("select"); 
//是文本框插入之后就被选中 
inputObj.click(function() { 
return false; 
}); 
//注册keyup事件 
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); 
} 
}); 
}); 
}); 
</script> 
<style type="text/css"> 
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: #A3BAE9; 
} 
</style> 
</head> 
<body> 
<form id="form1" runat="server"> 
<table> 
<thead> 
<tr> 
<th colspan="2"> 
鼠标点击表格项就可以编辑 
</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
<th> 
学号 
</th> 
<th> 
姓名 
</th> 
</tr> 
<tr> 
<td> 
000001 
</td> 
<td> 
张三 
</td> 
</tr> 
<tr> 
<td> 
000002 
</td> 
<td> 
李四 
</td> 
</tr> 
<tr> 
<td> 
000003 
</td> 
<td> 
王五 
</td> 
</tr> 
<tr> 
<td> 
000004 
</td> 
<td> 
赵六 
</td> 
</tr> 
</tbody> 
</table> 
</form> 
</body> 
</html>

知识点:
1.$(function() {})是$(document).ready(function() {})的简写。
2.$("tbody td:even")中“:”表示过滤,even为偶数函数,筛选条件可以在帮助文档的选择器中查找。此句表示返回tbody内的偶数td,结果为集合。
3.在事件中$(this)将返回此控件的jquery对象。
4.children("input")表示取所有子元素包含input的jquery对象,结果为集合。
5.css("border-width", "0")表示设置css属性的值。
6.trigger("focus").trigger("select")表示设置事件先触发focus,再触发select。
7.keyup(function(event) {var keycode = event.which;})表示注册键盘事件,参数event的which属性存储键盘信息。
Javascript 相关文章推荐
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
Nov 14 Javascript
JSON 数据格式介绍
Jan 13 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
Jun 16 Javascript
javascript实现超炫的向上滑行菜单实例
Aug 03 Javascript
非常实用的js验证框架实现源码 附原理方法
Jun 08 Javascript
微信开发 消息推送实现代码
Oct 21 Javascript
探索Vue.js component内容实现
Nov 03 Javascript
Vue.js第二天学习笔记(vue-router)
Dec 01 Javascript
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 jQuery
原生js中ajax访问的实例详解
Sep 19 Javascript
JS通过位运算实现权限加解密
Aug 14 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
May 05 Javascript
jquery 图片截取工具jquery.imagecropper.js
Apr 09 #Javascript
跟着JQuery API学Jquery 之三 筛选
Apr 09 #Javascript
跟着JQuery API学Jquery 之二 属性
Apr 09 #Javascript
JSON 教程 json入门学习笔记
Sep 22 #Javascript
jquery.AutoComplete.js中文修正版(支持firefox)
Apr 09 #Javascript
javaScript call 函数的用法说明
Apr 09 #Javascript
javascript 自动填写表单的实现方法
Apr 09 #Javascript
You might like
输出控制类
2006/10/09 PHP
PHP下对数组进行排序的函数
2010/08/08 PHP
PHP Opcache安装和配置方法介绍
2015/05/28 PHP
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
javascript 浏览器检测代码精简版
2010/03/04 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
2015/06/19 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
2018/12/05 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
简单学习Python time模块
2016/04/29 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
符合语言习惯的 Python 优雅编程技巧【推荐】
2018/09/25 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
python日期相关操作实例小结
2019/06/24 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
python模块内置属性概念及实例
2021/02/18 Python
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
金士达面试非笔试
2012/03/14 面试题
大学生应聘导游自荐信
2014/06/02 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
2015年体育教师个人工作总结
2015/05/12 职场文书
工作态度怎么写
2015/06/25 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
Python数据分析之pandas函数详解
2021/04/21 Python