基于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实现一个全局计时器(商城可用)
Jun 30 jQuery
用户管理的设计_jquery的ajax实现二级联动效果
Jul 13 jQuery
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
jquery tmpl模板(实例讲解)
Sep 02 jQuery
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 jQuery
jQuery发请求传输中文参数乱码问题的解决方案
May 22 jQuery
jquery实现的简单轮播图功能【适合新手】
Aug 17 jQuery
JQuery中queue方法用法示例
Jan 31 jQuery
jQuery实现高级检索功能
May 28 jQuery
jQuery事件委托代码实践详解
Jun 21 jQuery
详解jQuery中的prop()使用方法
Jan 05 jQuery
jquery实现的放大镜效果示例
Feb 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
Ajax PHP分页演示
2007/01/02 PHP
php利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
PHP创建对象的六种方式实例总结
2019/06/27 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
jquery trigger实现联动的方法
2016/02/29 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
浅谈React Native 中组件的生命周期
2017/09/08 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
Vue实现简单分页器
2018/12/29 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
详解Python的Django框架中Manager方法的使用
2015/07/21 Python
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
Tensorflow卷积神经网络实例
2018/05/24 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
python 实现12bit灰度图像映射到8bit显示的方法
2019/07/08 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
CSS3之2D与3D变换的实现方法
2019/01/28 HTML / CSS
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
医德医风自我评价
2014/09/19 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
新学期家长寄语2016
2015/12/03 职场文书
SpringBoot读取Resource下文件的4种方法
2021/07/02 Java/Android
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers