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 相关文章推荐
js实现点击链接后延迟3秒再跳转的方法
Jun 05 Javascript
jquery实现浮动的侧栏实例
Jun 25 Javascript
第八篇Bootstrap下拉菜单实例代码
Jun 21 Javascript
javascript 秒表计时器实现代码
Mar 09 Javascript
Angular X中使用ngrx的方法详解(附源码)
Jul 10 Javascript
基于express中路由规则及获取请求参数的方法
Mar 12 Javascript
原生JS实现简单的无缝自动轮播效果
Sep 26 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
Apr 26 Javascript
前端插件之Bootstrap Dual Listbox使用教程
Jul 23 Javascript
详解小程序云开发攻略(解决最棘手的问题)
Sep 30 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
Jul 22 Javascript
vue监听键盘事件的相关总结
Jan 29 Vue.js
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
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
2012/02/19 PHP
PHP字符串的连接的简单实例
2013/12/30 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
java解析json方法总结
2019/05/16 PHP
用jquery与css打造个性化的单选框和复选框
2010/10/20 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
详解easyui 切换主题皮肤
2019/04/04 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
Vue2.0 $set()的正确使用详解
2020/07/28 Javascript
[02:45]DOTA2英雄敌法师基础教程
2013/11/25 DOTA
[44:40]KG vs LGD 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
windows下安装python paramiko模块的代码
2013/02/10 Python
简单介绍Python中的floor()方法
2015/05/15 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
python对html过滤处理的方法
2018/10/21 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
Python实现中值滤波去噪方式
2019/12/18 Python
使用Tkinter制作信息提示框
2020/02/18 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
三维科技面试题
2013/07/27 面试题
高速铁道技术专业求职信
2014/08/09 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
民主生活会剖析材料
2014/09/30 职场文书
奖励申请报告范文
2015/05/15 职场文书
纪录片信仰观后感
2015/06/08 职场文书
体育委员竞选稿
2015/11/21 职场文书