zoukankan      html  css  js  c++  java
  • JQuery实战--能够编辑的表格

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

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

            第一步:编写html代码,代码例如以下所看到的:

           

    <span style="font-size:18px;"><span style="font-size:18px;"><span style="font-size:18px;"><span style="font-size:18px;"><span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    	<head>
    		<title>JQuery实例2:能够编辑的表格</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<link type="text/css" rel="stylesheet" href="css/editTable.css" />
    		<script type="text/javascript" src="js/jquery.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>
    					<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>
    	</body>
    </html>
    </span></span></span></span></span>

             分析一下上面的代码。我们非常easy看出来table中能够包括thead和tbody。表头的内容能够放到th中。我们来执行一下,看看我们的效果:

            

            从上面的执行效果来看,我们非常easy看出来,这个表格的基本轮廓已经显示出来,可是似乎少了些许味道。接着。我们来设置一下表格的样式,我们来编写css的代码。例如以下所看到的:

            

    <span style="font-size:18px;">table {
    	border: 1px solid black;
    	/*修正单元格之间的边框不能合并*/
    	border-collapse: collapse;
    	 400px;
    }
    table td {
    	border: 1px solid black;
    	 50%;
    }
    table th {
    	border: 1px solid black;
    	 50%;
    }
    tbody th {
    	background-color: #A3BAE9;  
    }
    </span>
            分析一下上面的代码,table{}这样的写法称作为标签选择器,能够对整个页面全部的table产生影响;table td{}这样的写法表示的是table中包括的全部td;能够通过broder-collapse:collapse这样的方式来使表格中的单元格边框合并。接着。我们连执行一下,看看执行的效果:

            

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

            

    <span style="font-size:18px;"><span style="font-size:18px;"><span style="font-size:18px;"><span style="font-size:18px;">//须要首先通过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 = $("<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);
    		//是文本框插入之后就被选中
    		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);
    			}
    		});
    	});
    });
    </span></span></span></span>
            执行效果例如以下:

            

            相关代码有须要的小伙伴能够点击下载

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


           

  • 相关阅读:
    【JAVA笔记——道】JAVA对象销毁
    【JAVA笔记——道】并发编程CAS算法
    httpClientUtil的get请求
    python基础 day11 下 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业
    python基础 day11 上 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 事务 索引 python 操作mysql ORM sqlachemy学习
    Python基础 Day10 Gevent协程 SelectPollEpoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 RedisMemcached缓存 Paramiko SSH Twsited网络框架
    python基础 day9 进程、与线程区别 python GIL全局解释器锁 线程 进程
    python基础 day8 Socket语法及相关 SocketServer实现多并发
    python基础 day7 面向对象高级语法部分 异常处理 异常处理 Socket开发基础
    python基础 day6 面向对象的特性:封装、继承、多态 类、方法、
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5392537.html
Copyright © 2011-2022 走看看