jQuery--编辑表格

表格操作是我们常常遇到的,还记得刚開始学习牛腩新闻公布系统时。跟着视频进行表格的一些基本操作。而对它的原理与概念全然不懂,不过跟着老师的操作而进行操作。

通过这次学习,对表格的操作有了进一步的了解与掌握。

首先来看一下其效果:(网页效果:http://192.168.24.71:8010/%E7%BC%96%E8%BE%91%E8%A1%A8%E6%A0%BC/EditTable.html)

实现过程:

HTML代码:

<span style="font-size:18px;"><!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>
<meta http-equiv="Content-Type"content="text/html; charset=UTF-8" />
<title>JQuery实战2-编辑表格</title>
<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>1</td>
                   <td>王朋波</td>
           </tr>
           <tr>
             <td>2</td>
                   <td>victor</td>
           </tr>
           <tr>
             <td>3</td>
                   <td>wangpengbo</td>
           </tr>
           <tr>
             <td>4</td>
                   <td>wang</td>
           </tr>
         </tbody>
  </table>
</body>
</html></span>

Javascript中的代码:

<span style="font-size:18px;">//须要通过js来解决内部奇偶行背景色不同

$(function(){
         //找到表格内容区域中除了第一个tr以外的全部奇数行
         //使用even是为了把通过tbodytr返回的全部元素中,在数组下标是偶数的元素返回
         $(‘tbody tr:even‘).css(‘background-color‘,‘#ECE9D8‘);

         //须要找到全部的学号单元格
         // $(‘tbodytd:even‘).css(‘background-color‘,‘red‘);
         var numTd=$(‘tbodytd:even‘);
         //给这些表格注冊鼠标单击的事件
         numTd.click(function(){

                   //找到当鼠标点击的td。this相应的响应了click的那个id
                   vartdobj=$(this);
                   if(tdobj.children(‘input‘).length>0){
                            //当前td中 input。不运行click处理
                            returnfalse;
                   }
                   vartext=tdobj.html();
                   //清空td中的内容
                   tdobj.html(‘‘);
                   //创建一个文本框
                   //去掉文本框的边框
                   //设置文本框中文字大小为16px
                   //使文本框的宽度与表格宽度同样
                   // 设置文本框背景色
                   //须要将当前td中的内容放到文本框
                   //将文本框插入。appendTo方法能够将一个节点追加到还有一个节点全部子节点的后面
                   varinputObj=$("<inputtype=‘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.get(0).select();

                   inputObj.click(function(){
                            returnfalse;   //清除点击td之后出现一个HTML代码
                   })

                   //处理文本框上回车和esc按键操作
                   inputObj.keyup(function(event){
                            //获取当前按下键盘的键值
                            varkeycode=event.which;
                            //处理回车的情况
                            if(keycode==13){
                                     //获取当前文本框内容
                                     varinputtext=$(this).val();
                                     //将td中的内容改动成文本框中 的内容
                                     tdobj.html(inputtext);
                            }
                            //处理esc的情况
                            if(keycode==27){
                                     //将td中的内容还原成text
                                     tdobj.html(text);
                            }
                   })
         })
})</span>

Css样式中的代码:

<span style="font-size:18px;"> 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;

}</span>

这里我们须要应用一个JQuery文件。事实上最基本的难点也在这里。只是,眼下没有对这个进行深入的研究,我们仅仅须要可以从JQuery中找到我们须要的信息。可以使用其包括的方法实现我们的功能就可以。

在本实例中须要注意的地方是奇偶行颜色的设置上,假设不使用JQuery。相对来说有点困难,过程也会繁琐。可是在JQuery中已经有了封装好的方法,even方法是获取奇数行,而odd是获取偶数行。

实例小结:

这次主要是对表格table的操作。由实例能够看出,事实上它也能够看作标签选择器;还有就是JQuery的使用,当中的方法会给我带来众多的便利,熟练掌握这些方法是我们这一阶段所须要做的。

通过这一个小实例的学习,对js的学习有了进一步的认识。尤其是如今跟着做项目,用到js和JQuery的地方有非常多。初次接触的时候。感觉无从下手。

只是。经过这些实例之后,不能说掌握。但最起码已经找到了入手点。所以,学习的同一时候,一定要亲自己主动手操作,哪怕是看似简单的样例。也要用心。

时间: 2024-10-11 22:33:23

jQuery--编辑表格的相关文章

基于Bootstrap使用jQuery实现简单可编辑表格

editTable.js 提供编辑表格当前行.添加一行.删除当前行的操作,其中可以设置参数,如: operatePos 用于设置放置操作的列,从0开始,-1表示以最后一列作为放置操作的列:(这里的操作包括 编辑当前行.在当前行下添加一行.删除当前行) handleFirst 设置表格的第一行是否作为操作的对象,true为真,false为假: edit.save.cancel.add.confirm.del 分别设置显示操作的操作名,默认显示"编辑"."保存".&qu

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

脚 本 之 家 www.jb51.net 脚本云 专题 素材下载 电子书 软件下载 源码下载 服务器常用软件 a5交易 首页 网页制作 脚本专栏 脚本下载 网络编程 数据库 CMS教程 电子书籍 平面设计 媒体动画 操作系统 网站运营 网络安全 YUI.Ext相关 prototype jquery dojo json lib_js js面向对象 extjs Mootools Seajs 其它 特色栏目: vbscript 正则表达式 javascript 批处理 服务器软件 素材下载 低价出售流

可编辑表格

<!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> <meta http-equiv="Content-

如何实现可编辑表格单元格效果

如何实现可编辑表格单元格效果:在不少的网页都有这样的效果,可以编辑表格中的内容,非常的方便,在本站特效下载和网络上有一个可编辑单元格的实例,但是通过分析发现有诸多问题,最大一个问题就是浏览器不具有浏览器兼容性,所以本站写了一个简单的能偶兼容所有主流浏览器的效果,下面就通过实例简单介绍一下如何实现可以编辑单元格的效果,代码实例如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&q

easyui datagrid可编辑表格使用经验分享

文章目录 1相关接口方法 2列属性formatter 3编辑器类型 3.1基于my97的编辑器 3.2简单的密码编辑器 3.3动态增加/删除编辑器 4字段的级联操作 4.1combobox的级联操作 4.2文本类型编辑器的级联 4.3编辑字段对非编辑字段的依赖 5数据提交与恢复 5.1利用loading提高用户体验 5.2结束编辑后获取原始数据 6常见问题集锦 6.1表头和数据表格错位 7效果演示 对于Easyui的可编辑表格,个人也是较为陌生的,尽管在操作方式上可能比使用表单修改的方式便捷,但

JQuery实现表格动态增加行并对新行添加事件

实现功能: 通常在编辑表格时表格的行数是不确定的,如果一次增加太多行可能导致页面内容太多,反应变慢:通过此程序实现表格动态增加行,一直保持最下面有多个空白行. 效果: 一:原始页面 二:表1增加新行并绑定timepicker 三:表2自动增加行,新行绑定timepicker HTML源码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

jQuery删除表格指定行代码实例

jQuery删除表格指定行代码实例:本章节介绍一下如何删除表格中指定的行,代码非常的简单,直接上代码: $("table tr").eq(2).remove(); 相关阅读:1.eq()函数可以参阅jQuery的eq()方法一章节.2remove()函数可以参阅jQuery的remove()方法一章节. 原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=13213 更多内容可以参阅:http://www.soft

javascript可编辑表格控件 支持全键盘操作

项目中经常会用到表格编辑控件,网上也有不少,但是确实没有完全符合我要求的, 自己写一个吧! 1.该控件支持 数据显示列,文本编辑列,选择列,下拉列,索引列,删除列 六种列类型 2.支持全键盘操作,自定义键位 包括:列焦点切换,行焦点切换,新建行,数据保存(默认 上,下,左,右 键操作) 3.丰富的事件,绝大多数的客户端操作都能触发无刷新后台事件 4.支持统计运算,可自定义运算插件 5.兼容 Ie,chorme,firefox等绝大多数主流浏览器 下载地址:http://files.cnblogs

jQuery实现表格隔行换色且感应鼠标高亮行变色

jQuery插件实现表格隔行换色且感应鼠标高亮行变色 http://www.jb51.net/article/41568.htm jquery 操作DOM的基本用法分享http://www.jb51.net/article/30047.htm jQuery技术之事件处理 http://blog.csdn.net/woshisap/article/details/7434010 jQuery实现表格隔行换色且感应鼠标高亮行变色,布布扣,bubuko.com

ExtJS4.2学习(七)EditorGrid可编辑表格(转)

鸣谢地址:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-14/176.html ---------------------------------------------------------------------------------------------- 以上实现的效果就是本节所要做的效果,现在看代码: /** * Grid * 此js演示了如何设置可编辑表格 */ //表格数据最起码有列