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 相关文章推荐
基于jquery的cookie的用法
Jan 10 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
Sep 14 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
Feb 20 Javascript
js实现不重复导入的方法
Mar 02 Javascript
JS出现失效的情况总结
Jan 20 Javascript
node.js入门教程之querystring模块的使用方法
Feb 27 Javascript
基于bootstrap实现多个下拉框同时搜索功能
Jul 19 Javascript
JS SetInterval 代码实现页面轮询
Aug 11 Javascript
vue+element实现批量删除功能的示例
Feb 28 Javascript
详解javascript 正则表达式之分组与前瞻匹配
May 30 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
Dec 09 Javascript
浅谈一个webpack构建速度优化误区
Jun 24 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判断ip黑名单程序代码实例
2014/02/24 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
在IE和VB中支持png图片透明效果的实现方法(vb源码打包)
2011/04/01 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
json对象转字符串如何实现
2012/12/02 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
[06:50]DSPL次级职业联赛十强晋级之路
2014/11/18 DOTA
Python字符串中查找子串小技巧
2015/04/10 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
详解Python正则表达式re模块
2019/03/19 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
自我鉴定思想方面
2013/10/07 职场文书
2013年军训通讯稿
2014/02/05 职场文书
安全生产先进个人材料
2014/02/06 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
任命书标准格式
2015/03/02 职场文书
幼儿园安全教育月活动总结
2015/05/08 职场文书
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL
python中数组和列表的简单实例
2022/03/25 Python