利用jquery给指定的table动态添加一行、删除一行的方法


Posted in Javascript onOctober 12, 2016

$("#mytable tr").find("td:nth-child(1)") 1表示获取每行的第一列
$("#mytable tr").find("td:nth-child(3)") 3表示获取每行的第三列

今天在项目中,刚好用到给指定的table添加一行、删除一行,就直接找google,搜出来的东西不尽如人意,不是功能不好就是千篇一律,简直浪费时间还不讨好,于是乎就自己动手封装个,现就把代码分享出来,避免大伙重复造轮子,如有问题欢迎大伙拍砖指正,千万可别人身攻击,嘎嘎。。。

需求场景

1)、添加一行

支持在任意行添加一行且可配置的,如可在第一行添加一行、第二行添加一行、倒数第一行添加一行、倒数第二行添加一行,随需求的变化都不会影响。

前提条件:行数需在表中存在否则添加不成功。

2)、删除一行

支持动态删除一行。

先演示结果,如中意了在好好研究代码。

1、原始界面如下:

利用jquery给指定的table动态添加一行、删除一行的方法

2、添加一行,如要添加一行需点击“添加”按钮,现点击两下会自动添加两行,效果如下截图:

利用jquery给指定的table动态添加一行、删除一行的方法

3、删除一行,如要删除指定行,先要选中行然后在点击“删除”按钮进行删除(这不是废话嘛~~~),现选中一行,效果如下截图:

利用jquery给指定的table动态添加一行、删除一行的方法

4、对选中行进行删除,现点击“删除”按钮就会把选中的行删除掉,效果如下截图:

利用jquery给指定的table动态添加一行、删除一行的方法

代码如下:

<%@ page language="java" pageEncoding="UTF-8"%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
 <title>利用jquery给指定的table添加一行、删除一行</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <script type="text/javascript"
  src="<%=request.getContextPath()%>/js/jquery-1.5.1.js"></script>
 <script type="text/javascript">
 ////////添加一行、删除一行封装方法///////
 /**
  * 为table指定行添加一行
  *
  * tab 表id
  * row 行数,如:0->第一行 1->第二行 -2->倒数第二行 -1->最后一行
  * trHtml 添加行的html代码
  *
  */
 function addTr(tab, row, trHtml){
   //获取table最后一行 $("#tab tr:last")
   //获取table第一行 $("#tab tr").eq(0)
   //获取table倒数第二行 $("#tab tr").eq(-2)
   var $tr=$("#"+tab+" tr").eq(row);
   if($tr.size()==0){
    alert("指定的table id或行数不存在!");
    return;
   }
   $tr.after(trHtml);
 }
  
 function delTr(ckb){
   //获取选中的复选框,然后循环遍历删除
   var ckbs=$("input[name="+ckb+"]:checked");
   if(ckbs.size()==0){
    alert("要删除指定行,需选中要删除的行!");
    return;
   }
      ckbs.each(function(){
       $(this).parent().parent().remove();
      });
 }
  
 /**
  * 全选
  * 
  * allCkb 全选复选框的id
  * items 复选框的name
  */
 function allCheck(allCkb, items){
  $("#"+allCkb).click(function(){
   $('[name='+items+']:checkbox').attr("checked", this.checked );
  });
 }
  
 ////////添加一行、删除一行测试方法///////
 $(function(){
  //全选
  allCheck("allCkb", "ckb");
 });
  
 function addTr2(tab, row){
  var trHtml="<tr align='center'><td width='30%'><input type='checkbox' name='ckb'/></td><td width='30%'>地理</td><td width='30%'>60</td></tr>";
  addTr(tab, row, trHtml);
 }
  
 function delTr2(){
   delTr('ckb');
 }
 </script>
 </head>
 
 <body>
 <table border="1px #ooo" id="tab" cellpadding="0"
  cellspacing="0" width="30%">
  <tr align="center">
    <td width="30%"><input id="allCkb" type="checkbox"/></td>
  <td width="30%">科目</td>
  <td width="30%">成绩</td>
  </tr>
  <tr align="center">
    <td width="30%"></td>
  <td width="30%">语文</td>
  <td width="30%">80</td> 
  </tr>
 </table>
 <input type="button" onclick="addTr2('tab', -1)" value="添加">
   <input type="button" onclick="delTr2()" value="删除">
 
 </body>
</html>

以上就是小编为大家带来的利用jquery给指定的table动态添加一行、删除一行的方法全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
javascript 强制刷新页面的实现代码
Dec 13 Javascript
jQuery中add实现同时选择两个id对象
Oct 22 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
May 06 Javascript
火狐下table中创建form导致两个table之间出现空白
Sep 02 Javascript
jquery实现ajax提交form表单的方法总结
Mar 03 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
Feb 02 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
Jun 02 Javascript
JavaScript实现九九乘法表的简单实例
Jun 07 Javascript
r.js来合并压缩css文件的示例
Apr 26 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
Oct 01 Javascript
Vue数组响应式操作及高阶函数使用代码详解
Aug 01 Javascript
JavaScript实现点击图片换背景
Nov 20 Javascript
jQuery给指定的table动态添加删除行的操作方法
Oct 12 #Javascript
详解Javascript中的原型OOP
Oct 12 #Javascript
浅析BootStrap Treeview的简单使用
Oct 12 #Javascript
jquery自定义表单验证插件
Oct 12 #Javascript
jquery 动态增加删除行的简单实例(推荐)
Oct 12 #Javascript
老生常谈javascript的类型转换
Oct 12 #Javascript
vue制作加载更多功能的正确打开方式
Oct 12 #Javascript
You might like
php入门教程 精简版
2009/12/13 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
详解json在php中的应用
2018/09/30 PHP
jquery提升性能最佳实践小结
2010/12/06 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
详解如何运行vue项目
2019/04/15 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
Python实现破解猜数游戏算法示例
2017/09/25 Python
Python与R语言的简要对比
2017/11/14 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
python如何实现图片压缩
2020/09/11 Python
python RSA加密的示例
2020/12/09 Python
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
十一酒店活动方案
2014/02/20 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
七一讲话心得体会
2014/09/05 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
原来实习报告是这样写的呀!
2019/07/03 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
2021/05/18 Vue.js
html5表单的required属性使用
2021/07/07 HTML / CSS
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL