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效果之图片减速度滚动实现代码
Dec 08 Javascript
json对象转字符串如何实现
Dec 02 Javascript
浅谈关于JavaScript的语言特性分析
Apr 11 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
Apr 16 Javascript
JQuery实现简单的图片滑动切换特效
Nov 22 Javascript
javascript实现不同颜色Tab标签切换效果
Apr 27 Javascript
一系列Bootstrap导航条使用方法分享
Apr 29 Javascript
jquery 获取select数组与name数组长度的实现代码
Jun 20 Javascript
基于JavaScript实现的插入排序算法分析
Apr 14 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
jquery实现轮播图特效
Apr 12 jQuery
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
Aug 10 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
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
php中的curl_multi系列函数使用例子
2014/07/29 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
分享php分页的功能模块
2015/06/16 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
PHP实现15位身份证号转18位的方法分析
2019/10/16 PHP
PHP实现简单登录界面
2019/10/23 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
JavaScript代码性能优化总结(推荐)
2016/05/16 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
浅谈node的事件机制
2017/10/09 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
2020/06/05 Javascript
Python 流程控制实例代码
2009/09/25 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
python中tab键是什么意思
2020/06/18 Python
Python 捕获代码中所有异常的方法
2020/08/03 Python
python Selenium 库的使用技巧
2020/10/16 Python
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
如何理解transaction事务的概念
2015/05/27 面试题
团队合作精神学习心得体会
2016/01/19 职场文书