基于jQuery实现可编辑的表格


Posted in jQuery onDecember 11, 2019

前言

我们知道jQuery是一个轻便的JavaScript框架,里面封装了系统和程序常用到的一些方法,利用CSS、HTML可以将这些内容运用起来,做出各式各样好看的界面,下面小编使用jQuery实现了一个“可编辑的表格”的例子。

代码加说明

一、HTML代码

1.使用<thead></thead>实现标头;

2.一个table中可以包含thead和tbody

3.表头的内容可以放到th中。

<!DOCTYPE HTML>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>JQuery实战2-可编辑的表格</title>
 <link href="css/editTable.css" type="text/css" rel="stylesheet" />
 <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>001</td>
  <td>周星驰</td> 
  </tr> 
 <tr>
  <td>002</td>
  <td>星女郎</td> 
  </tr> 
 <tr>
  <td>003</td>
  <td>周润发</td> 
 </tr>
 <tr>
  <td>004</td>
  <td>赌神</td> 
 </tr>
 </tbody>
 </table>
</body>
</html>

基于jQuery实现可编辑的表格

二、CSS代码

1.table{}称作标签选择器,可以对整个页面所有table产生影响;

2.table td{} 表示table中包含的所有td;

3.border_collapse:collape 使表格中的单元格的边框合并

table{
 border:1px solid black;
 border-collapse:collapse;
 /* 修正单元格之间的边框不能合并的问题*/
 width:400px;
 }
 
table th{
 border:1px solid black;
 width:50%;
}
table td{
 border:1px solid black;
 width:50%; 
}
tbody th{
 background-color:#A3BAE9;
}

三、JavaScript文件代码

1.用来解决奇偶行背景色不同;

2.$(function(){})与$(documnet).ready(function(){})等价;

  $("tbody tr")  可以返回tbody中所有tr节点;

  $("tbody tr:even") 可以返回tbody中所有索引值是偶数的tr节点;

3.$()方法的参数如果是一个DOM对象时,这个方法相当于把DOM对象转换成jQuery对象;

   $()方法的参数如果是一段正确的HTML文本,则可以创建一个DOM节点,并包装成jQuery对象。

$(function(){ 
 //找到表格偶数行
 //odd是数组中下标为奇数的项,even是下标为偶数的项
 $("tbody tr:even").css("background-color","#ECE9D8");
 //找到所有学号的单元格
 var numId=$("tbody td:even");
 //给这些单元格注册点击事件
 numId.click(function(){
  
 //找到当前鼠标点击的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"))
 .css("font",tdObj.css("font"))
 .val(text)
 .appendTo(tdObj); 
 //文本框插入后被选中
 //inputObj.get(0).select();
 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情况,
  //将td的内容还原成text
  if(keycode==27){
  tdObj.html(text);
  }
 
 });
 
  });
 
});

小结

关于jQuery的学习,不只是停留在例子上面,我们还要从中不断地深入,理解并能够运用起来。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery.ajax向后台传递数组问题的解决方法
May 12 jQuery
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
jquery插件开发之选项卡制作详解
Aug 30 jQuery
jQuery+Cookie实现切换皮肤功能【附源码下载】
Mar 25 jQuery
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
jQuery仿移动端支付宝键盘的实现代码
Aug 15 jQuery
jQuery时间戳和日期相互转换操作示例
Dec 07 jQuery
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
Jun 18 jQuery
jquery实现吸顶导航效果
Jan 08 jQuery
jQuery 判断元素是否存在然后按需加载内容的实现代码
Jan 16 jQuery
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
jQuery实现可编辑的表格
Dec 11 #jQuery
jQuery实现验证用户登录
Dec 10 #jQuery
jquery实现弹窗(系统提示框)效果
Dec 10 #jQuery
jQuery实现消息弹出框效果
Dec 10 #jQuery
jQuery实现弹出层效果
Dec 10 #jQuery
JQuery样式与属性设置方法分析
Dec 07 #jQuery
JQuery常用简单动画操作方法回顾与总结
Dec 07 #jQuery
You might like
笑谈配置,使用Smarty技术
2007/01/04 PHP
php开启安全模式后禁用的函数集合
2011/06/26 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
iOS10推送通知开发教程
2016/09/19 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
Jquery ui css framework
2010/06/28 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
Python快速排序算法实例分析
2017/11/29 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
Python 一句话生成字母表的方法
2019/01/02 Python
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
酒店前台接待岗位职责
2013/12/03 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
挂职个人工作总结
2015/03/05 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书
56句经典英文座右铭
2019/08/09 职场文书
python实现web邮箱扫描的示例(附源码)
2021/03/30 Python
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL
Java十分钟精通进阶适配器模式
2022/04/06 Java/Android