基于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 相关文章推荐
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
Jun 12 jQuery
jQuery Jsonp跨域模拟搜索引擎
Jun 17 jQuery
jQuery实现table中两列CheckBox只能选中一个的示例
Sep 22 jQuery
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
jQuery实现鼠标移到某个对象时弹出显示层功能
Aug 23 jQuery
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 jQuery
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
jQuery ajax仿Google自动提示SearchSuggess功能示例
Mar 28 jQuery
jQuery 图片查看器插件 Viewer.js用法简单示例
Apr 04 jQuery
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
jQuery+ajax实现用户登录验证
Sep 13 jQuery
jQuery treeview树形结构应用
Mar 24 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
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
jQuery插件的写法分享
2013/06/12 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
jstree的简单实例
2016/12/01 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
vue data恢复初始化数据的实现方法
2019/10/31 Javascript
JS写滑稽笑脸运动效果
2020/05/28 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
详解Python3中的迭代器和生成器及其区别
2018/10/09 Python
python三引号输出方法
2019/02/27 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
英国玛莎百货新西兰:Marks & Spencer New Zealand
2019/07/21 全球购物
The North Face北面荷兰官网:美国著名户外品牌
2019/10/16 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
法律进社区实施方案
2014/03/21 职场文书
产品质量承诺书范文
2014/03/27 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
幽默导游词开场白
2015/05/29 职场文书
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android