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 相关文章推荐
Js 获取当前日期时间及其它操作实现代码
Mar 04 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
Jun 08 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
Jun 15 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
Jul 10 Javascript
jQuery基于ajax实现星星评论代码
Aug 07 Javascript
巧用Javascript的逻辑运算符
Dec 02 Javascript
BootStrap 模态框实现刷新网页并关闭功能
Jan 04 Javascript
js实现3D图片展示效果
Mar 09 Javascript
探究react-native 源码的图片缓存问题
Aug 24 Javascript
浅谈Vue.nextTick 的实现方法
Oct 25 Javascript
js+html5 canvas实现ps钢笔抠图
Apr 28 Javascript
TypeScript 内置高级类型编程示例
Sep 23 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
将form表单通过ajax实现无刷新提交的简单实例
Oct 12 #Javascript
You might like
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
laravel中的一些简单实用功能
2018/11/03 PHP
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
仿照Element-ui实现一个简易的$message方法
2020/09/14 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
django模型中的字段和model名显示为中文小技巧分享
2014/11/18 Python
python开发之文件操作用法实例
2015/11/13 Python
Python反射用法实例简析
2017/12/22 Python
python 自动批量打开网页的示例
2019/02/21 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
python实现手势识别的示例(入门)
2020/04/15 Python
python如何删除列为空的行
2020/07/17 Python
美体小铺英国官网:The Body Shop英国
2017/01/24 全球购物
C语言50道问题
2014/10/23 面试题
优秀演讲稿范文
2013/12/29 职场文书
好家长事迹材料
2014/01/23 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
2014年扶贫帮困工作总结
2014/12/09 职场文书
英语教师个人工作总结
2015/02/09 职场文书
先进个人自荐书
2015/03/06 职场文书
酒店财务部岗位职责
2015/04/14 职场文书
学校运动会开幕词
2016/03/03 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server
MySQL系列之三 基础篇
2021/07/02 MySQL
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis