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 String 的扩展方法集合
Jun 01 Javascript
CSS+Jquery实现页面圆角框方法大全
Dec 24 Javascript
基于JQuery及AJAX实现名人名言随机生成器
Feb 10 Javascript
详解Angular的8个主要构造块
Jun 20 Javascript
vue2.0 实现页面导航提示引导的方法
Mar 13 Javascript
Vue全局分页组件的实现代码
Aug 10 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
Aug 25 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
Sep 14 Javascript
浅谈layui 表单元素的选中问题
Oct 25 Javascript
微信小程序图片右边加两行文字的代码
Apr 23 Javascript
vue路由结构可设一层方便动态添加路由操作
Aug 31 Javascript
JavaScript 事件捕获冒泡与捕获详情
Nov 11 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
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
PHP与SQL注入攻击防范小技巧
2011/09/16 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
PHP实现多图上传(结合uploadify插件)思路分析
2016/11/30 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
PHP 序列化和反序列化函数实例详解
2020/07/18 PHP
jquery 选择器部分整理
2009/10/28 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
从零学JSON之JSON数据结构
2014/05/19 Javascript
js动态切换图片的方法
2015/01/20 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
js判断复选框是否选中及选中个数的实现代码
2016/05/30 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
Js中async/await的执行顺序详解
2017/09/22 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
2018/10/10 jQuery
Vue触发式全局组件构建的方法
2018/11/28 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
python实现将文本转换成语音的方法
2015/05/28 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
女生抽烟检讨书
2014/10/05 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
工地食品安全责任书
2015/05/09 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书