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 相关文章推荐
javascript静态页面传值的三种方法分享
Nov 12 Javascript
Javascript中各种trim的实现详细解析
Dec 10 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
Apr 30 Javascript
jquery中radio checked问题
Mar 16 Javascript
php结合imgareaselect实现图片裁剪
Jul 05 Javascript
利用yarn实现一个webpack+react种子
Oct 25 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 jQuery
highCharts提示框中显示当前时间的方法
Jan 18 Javascript
vue配置nprogress实现页面顶部进度条
Sep 21 Javascript
详解Vue之计算属性
Jun 20 Javascript
vue项目实现分页效果
Mar 24 Vue.js
关于React Native使用axios进行网络请求的方法
Aug 02 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
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
JS模拟多线程
2007/02/07 Javascript
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
window.location.reload 刷新使用分析(去对话框)
2015/11/11 Javascript
Javascript实现单例模式
2016/01/24 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
Vue实现页面添加水印功能
2019/11/09 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
Python开发的HTTP库requests详解
2017/08/29 Python
Django中的Signal代码详解
2018/02/05 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
python通过链接抓取网站详解
2019/11/20 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
python三引号如何输入
2020/07/06 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
秋季婚礼证婚词
2014/01/11 职场文书
大学生个人自荐信
2014/02/24 职场文书
安全生产承诺书范文
2014/05/22 职场文书
企业标语大全
2014/07/01 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android