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 操作XML入门
Dec 25 Javascript
JS重要知识点小结
Nov 06 Javascript
javascript实用小函数使用介绍
Nov 11 Javascript
获取鼠标在div中的相对位置的实现代码
Dec 30 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
May 19 Javascript
3种js实现string的substring方法
Nov 09 Javascript
js 获取本地文件及目录的方法(推荐)
Nov 10 Javascript
js实现表单提交后不重新刷新当前页面
Nov 30 Javascript
jQuery层级选择器实例代码
Feb 06 Javascript
详解vue的数据binding绑定原理
Apr 12 Javascript
JavaScript中EventLoop介绍
Jan 22 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 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
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
浅析php静态方法与非静态方法的用法区别
2016/05/17 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
php实现网页端验证码功能
2017/07/11 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
jquery异步调用页面后台方法&amp;#8207;(asp.net)
2011/03/01 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
2018/11/12 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
[01:22:29]真视界:2019年国际邀请赛总决赛
2020/01/29 DOTA
python 简易计算器程序,代码就几行
2009/08/29 Python
详解使用python的logging模块在stdout输出的两种方法
2017/05/17 Python
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
python生成并处理uuid的实现方式
2020/03/03 Python
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
什么是命名空间(NameSpace)
2015/11/24 面试题
精细化工应届生求职信
2013/11/17 职场文书
教师求职信范文分享
2013/12/27 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL