200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > jQuery一步一步实现跨浏览器的可编辑表格支持IE Firefox Saf

jQuery一步一步实现跨浏览器的可编辑表格支持IE Firefox Saf

时间:2019-04-20 19:12:36

相关推荐

jQuery一步一步实现跨浏览器的可编辑表格支持IE Firefox Saf

今天小编给大家介绍下jQuery一步一步实现跨浏览器的可编辑表格支持IE、Firefox、Saf,平时喜欢jQuery一步一步实现跨浏览器的可编辑表格支持IE、Firefox、Saf的朋友赶紧收藏起来吧!记得点赞哦~

要实现可编辑的表格功能,我们要解决以下问题:

1.明确要修改的数据在表格中是哪些列(如何找到这些单元格);

2.如何让单元格变成可以编辑的;

3.如何处理单元格的一些按键事件;

4.解决跨浏览器问题。

我们通过jQuery可以一步一步解决上述问题。

一、 绘制表格

首先我们先画好一个表格。

Code1:

代码如下:

!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0 Transitional//EN" ""

html xmlns=""

head

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

titlejQuery的跨浏览器可编辑表格/title

link rel="stylesheet" type="text/css" href="css/editTable.css" media="all"/

script type="text/javascript" src="js/jquery-1.3.2.min.js"/script

script type="text/javascript" src="js/editTable.js"/script

/head

body

table

thead

tr

th colspan="2"鼠标点击表格就可以编辑/th

/tr

/thead

tbody

tr

th学号/th

th姓名/th

/tr

tr

td000001/td

td张三/td

/tr

tr

td000002/td

td李四/td

/tr

tr

td000003/td

td王五/td

/tr

tr

td000004/td

td赵六/td

/tr

/tbody

/table

/body

/html

画好表格以后显示的如图:

editTable01.jpg

很明显它看起来不像一个表格,既没有边框,而且很丑。那么我们先给这个表格设置一些样式。

Code2:

代码如下:

body{}{

font-size: 14px;

}

table{}{

color: #4F6B72;

border: 1px solid #C1DAD7;

border-collapse: collapse;

width: 400px;

}

th{}{

width: 50%;

border: 1px solid #C1DAD7;

}

td{}{

width: 50%;

border: 1px solid #C1DAD7;

}

现在效果好多了:

editTable02.jpg

但是单元格和单元格之间还是有重叠的边框,只需要在标签选择符table中加上这样一个属性就能去除重复边框:

border-collapse: collapse;

代码如下:

table{}{

color: #4F6B72;

border: 1px solid #C1DAD7;

border-collapse: collapse;

width: 400px;

}

editTable03.jpg

二、 让表格的单元格变成可编辑的列

绘制好表格以后,我们选取表格中的编号列作为可编辑的列。要让这一列的单元格能够被编辑,就需要在这些列中插入文本框,我们通过这一列单元格的onclick事件来插入文本框。

Code3:

代码如下:

$(document).ready(function(){

//找到学号这一列的所有单元格

//因为学号这一列的单元格在所有td中的位置是偶数(0,2,4,6),所以通过even就可以筛选到td中偶数位的单元格

var numTd = $("tbody ");

//单击这些td时,创建文本框

(function(){

//创建文本框对象

var inputobj = $("input type="text"");

//获取当前点击的单元格对象

var tdobj = $(this);

//去除文本框的border

("","");

//让文本框和单元格的宽度保持一致

(());

//让文本框的字体和单元格的字体大小一样

inputobj.css("font-size",tdobj.css("font-size"));

//让文本框和单元格的字体保持一致

inputobj.css("font-family",tdobj.css("font-family"));

//让文本框和单元格的背景保持一致

inputobj.css("background-color",tdobj.css("background-color"));

//appendTo方法把文本框添加到td中

inputobj.appendTo(tdobj);

});

});

现在已经把文本框插入到单元格中了。既然要编辑文本框,文本框就应该有值,文本框的值

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。