博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JQuery实战--可以编辑的表格
阅读量:5923 次
发布时间:2019-06-19

本文共 2492 字,大约阅读时间需要 8 分钟。

       廊坊下雪了,15年的第二场雪,比14的来的稍晚一些,停靠在11教门前的自行车,成了廊坊师范学院最美丽的风景线。还记得以前学习css的时候,就曾经接触过如何编写设计一些表格和表单的样式,例如如何设计表格中的颜色,隔行变色等等,相关链接,。

       当时学习css的时候,关于表格和表单的所有设置,我们都是在html代码里面实现的,今天小编主要给大家讲解一下,如何利用JQuery+js+css实现表格的编辑。接下来,小编就简单总结一下如何实现这个小例子。

        第一步:编写html代码,代码如下所示:

       

			JQuery实例2:可以编辑的表格		
鼠标点击表格项就可以编辑
学号 姓名
000001 张三
000002 李四
000003 王五
000004 赵六

         分析一下上面的代码,我们很容易看出来table中可以包含thead和tbody,表头的内容可以放到th中,我们来运行一下,看看我们的效果:

        

        从上面的运行效果来看,我们很容易看出来,这个表格的基本轮廓已经显示出来,但是似乎少了些许味道,接着,我们来设置一下表格的样式,我们来编写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;  }
        分析一下上面的代码,table{}这种写法称作为标签选择器,可以对整个页面所有的table产生影响;table td{}这种写法表示的是table中包含的所有td;可以通过broder-collapse:collapse这种方式来使表格中的单元格边框合并。接着,我们连运行一下,看看运行的效果:

        

        上述的运行效果,已经非常接近我们需要实现的效果了,但是还是欠点火候,还是不能都编辑,接着,js里面的代码,相应的,在js中我们也要建立两个文件,一个jquery一个editTable,鉴于jquery的代码较多,所以小编已经上传相关资源,有需要的小伙伴可以到该链接,接着,我们来编写ueditTable的代码,来给整理页面添加行为能力:

        

//需要首先通过Javascript来解决内容部分奇偶行的背景色不同//$(document).ready(function(){//	//});//简化的ready写法$(function(){	//找到表格的内容区域中所有的奇数行	//使用even是为了把通过tbody tr返回的所有tr元素中,在数组里面下标是偶数的元素返回,因为这些元素,实际上才是我们期望的tbody里面的奇数行	$("tbody tr:even").css("background-color","#ECE9D8");	//我们需要找到所有的学号单元格	var numTd = $("tbody td:even");	//给这些单元格注册鼠标点击的事件	numTd.click(function() {			//找到当前鼠标点击的td,this对应的就是响应了click的那个td		var tdObj = $(this);		if (tdObj.children("input").length > 0) {			//当前td中input,不执行click处理			return false;		}		var text = tdObj.html(); 		//清空td中的内容		tdObj.html("");		//创建一个文本框		//去掉文本框的边框		//设置文本框中的文字字体大小是16px		//使文本框的宽度和td的宽度相同		//设置文本框的背景色		//需要将当前td中的内容放到文本框中		//将文本框插入到td中		var inputObj = $("").css("border-width","0")			.css("font-size","16px").width(tdObj.width())			.css("background-color",tdObj.css("background-color"))			.val(text).appendTo(tdObj);		//是文本框插入之后就被选中		inputObj.trigger("focus").trigger("select");		inputObj.click(function() {			return false;		});		//处理文本框上回车和esc按键的操作		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);			}		});	});});
        运行效果如下:

        

        相关代码有需要的小伙伴可以。

       小编寄语:该博文,小编主要介绍了实战JQuery中的小例子,编写可以编辑的表格,对比之前学习过的css中,如何设置表格表单,该例子中配合jquery和css,让我们的代码更加灵活,实现的功能更加的高大上,BS总结,未完待续......

       

你可能感兴趣的文章
自定义SpringMVC部分实现
查看>>
1024 科学计数法 (20 分)
查看>>
重学前端(三)
查看>>
13 个示例快速入门 JS 抽象语法树
查看>>
Android7.0机型适配
查看>>
React中的受控组件和非受控组件学习总结
查看>>
一键脚本搭建即用即销临时邮箱
查看>>
scroll 事件不会冒泡
查看>>
项目改版上线前的团队心态管理
查看>>
使用JS去实现一个BST(二叉查找树)
查看>>
(JS基础)闭包
查看>>
1012 数字分类 (20 分)
查看>>
第二周周记
查看>>
新手入职——页面代码在项目中的快速定位
查看>>
[译] 将 Kotlin 应用于现有 Java 代码的策略
查看>>
MPAndroidChart Wiki(一)
查看>>
Python开发环境—— jupyter Notebook 安装使用
查看>>
点击图片大图预览,RecyclerView + PhotoView 滑动冲突,RecyclerView不回调SCROLL_STATE_IDLE...
查看>>
iOS 基础
查看>>
HTTPS的安全通信机制
查看>>