jQuery动态增减行的实例代码解析(推荐)


Posted in Javascript onDecember 05, 2016

先给大家展示下效果图:

这是没有增加时的界面:

jQuery动态增减行的实例代码解析(推荐) 

增加后的界面:

jQuery动态增减行的实例代码解析(推荐) 

删除后的界面:

jQuery动态增减行的实例代码解析(推荐)

原因分析:

不擅长jquery和JavaScript

场景:

代码如下:

<table class="table table-bordered">
<thead>
<tr>
<th style="width: 10px">?次</th>
<th style="width: 100%">比??r?</th>
<th>比??龅?lt;/th>
<th>主?</th>
<th>主?得分</th>
<th>客?</th>
<th>客?得分</th>
<th>比??果</th>
<th>删除</th>
</tr>
</thead>
<tbody id="Games_tbody">
<tr>
<td>
<input type="number" style="width: 40px"/>
</td>
<td>
<input type="date" style="width: 140px"/>
</td>
<td>
<input type="text" style="width: 140px"/>
</td>
<td>
<input type="text" style="width: 140px"/>
</td>
<td>
<input type="number" style="width: 80px"/>
</td>
<td>
<input type="text" style="width: 140px"/>
</td>
<td>
<input type="number" style="width: 80px"/>
</td>
<td>
<input type="text" style="width: 40px"/>
</td>
<td>
<button type="button" class="btn btn-danger btn-xs" id="delete" onclick="$(this).parent('td').parent('tr').remove()">删除</button>
</td>
</tr>
<tr>
<td>
<input type="number" style="width: 40px"/>
</td>
<td>
<input type="date" style="width: 140px"/>
</td>
<td>
<input type="text" style="width: 140px"/>
</td>
<td>
<input type="text" style="width: 140px"/>
</td>
<td>
<input type="number" style="width: 80px"/>
</td>
<td>
<input type="text" style="width: 140px"/>
</td>
<td>
<input type="number" style="width: 80px"/>
</td>
<td>
<input type="text" style="width: 40px"/>
</td>
<td>
<button type="button" class="btn btn-danger btn-xs" id="delete" onclick="$(this).parent('td').parent('tr').remove()">删除</button>
</td>
</tr>
</tbody>
</table>
<button type="button" id="add_game"class="btn btn-primary btn-md">
<span class="glyphicon glyphicon-plus-sign"></span> 
</button>
<button type="button" id="reduce_game" class="btn btn-primary btn-md">
<span class="glyphicon glyphicon-minus-sign"></span> 
</button>

解决方案:

增加:在tbody后直接增加自定义好的html变量,使用append方法就好了

jquery代码如下:

<script src="../jQuery/jquery-2.2.3.min.js"></script>
<!-- Bootstrap 3.3.6 -->
<script src="../bootstrap/js/bootstrap.min.js"></script>
<!-- Morris.js charts -->
<script src="../morris/morris.min.js"></script>
<!-- FastClick -->
<script src="../fastclick/fastclick.js"></script>
<!-- AdminLTE App -->
<script src="../dist/js/app.min.js"></script>
<!-- AdminLTE for demo purposes -->
<script src="../dist/js/demo.js"></script>
<!-- page script -->
<script type="text/javascript">
function deleteCol()
{
alert("delete col method");
alert(this.tagName);
//$(this).parent("td").parent("tr").remove();
}
</script>
<script>
$(document).ready(function () {
// 增加行
var trEle='<tr>'+
'<td><input type="number" style="width: 40px"/>'+'</td>'+
'<td><input type="date" style="width: 140px"/>'+'</td>'+
'<td><input type="text" style="width: 140px"/>'+'</td>'+
'<td><input type="text" style="width: 140px"/>'+'</td>'+
'<td><input type="number" style="width: 80px"/>'+'</td>'+
'<td><input type="text" style="width: 140px"/>'+'</td>'+
'<td><input type="number" style="width: 80px"/>'+'</td>'+
'<td><input type="text" style="width: 40px"/>'+'</td>'+
'<td><button type="button" class="btn btn-danger btn-xs" id="delete" onclick="$(this).parent('+
"'td').parent('tr').remove()"+
'">删除</button></td></tr>'
$("#add_game").click(function(e){
$("#Games_tbody").append(trEle);
});
//删除行数,绑定在html中的button Click事件中了
});
</script>

问题原因:

jquery没有onclick()函数,但是这里可以用(不知道为什么,因为我是菜鸟),不知道使用each()函数是否可以使用。不知道为什么直接使用下面代码不可以用

$(".btn-danger").click(function(){
$(this).parent('td').parent(‘tr').remove();
});

只能选择第一个,后面的就没办法选定了。

在解决的过程中,我借用了这篇博客

发现原来页面上的可以实现删除,但是动态增加后的行数,却无法删除

最后还是借用了

http://bbs.csdn.net/topics/390917779

这里面的一个回答,才发现原来函数可以直接卸载html里面。而在增加行中,也可以使用clone函数,会更加方便,也就是第二种方法。

第二种方法,选择tr属性,然后借用clone(),代码如下:

$("#add_game").click(function(e){
//$("#Games_tbody").append(trEle); 第一种方法
//第二种方法 $("#Games_tbody>tr:first").clone(true).appendTo($("#Games_tbody"));
});

也可以实现增加行,同时,点击删除也可以,(在上面提过的这篇博客

这时可以删除,好奇怪!)

总结来说,通过拼接html来实现增加的行数无法实现删除按钮,解决方法是把删除方法绑定在html中。

但是,如果,你的行数是通过clone()方法来实现的话,可以实现删除按钮。

以上所述是小编给大家介绍的jQuery动态增减行的实例代码解析(推荐),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用正则获取指定路径文件的名称
Feb 27 Javascript
JavaScript 给汉字排序实例代码
Jun 28 Javascript
JS 对象介绍
Jan 20 Javascript
JS判断元素为数字的奇异写法分享
Aug 01 Javascript
jquery Moblie入门—hello world的示例代码学习
Jan 08 Javascript
node.js适合游戏后台开发吗?
Sep 03 Javascript
整理一下常见的IE错误
Nov 18 Javascript
javascript基础知识讲解
Jan 11 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
Aug 26 Javascript
微信jssdk踩坑之签名错误invalid signature
May 19 Javascript
详解React的回调渲染模式
Sep 10 Javascript
DOM 事件的深入浅出(二)
Dec 05 #Javascript
vue.js指令v-model实现方法
Dec 05 #Javascript
DOM 事件的深入浅出(一)
Dec 05 #Javascript
使用微信小程序开发前端【快速入门】
Dec 05 #Javascript
学习vue.js表单控件绑定操作
Dec 05 #Javascript
JavaScript易错知识点整理
Dec 05 #Javascript
JS 对java返回的json格式的数据处理方法
Dec 05 #Javascript
You might like
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
2016/04/15 PHP
再谈PHP中单双引号的区别详解
2016/06/12 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
2019/06/03 PHP
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
解决django model修改添加字段报错的问题
2019/11/18 Python
python 变量初始化空列表的例子
2019/11/28 Python
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
C++是不是类型安全的
2014/02/18 面试题
什么是GWT的Entry Point
2013/08/16 面试题
总经理岗位职责
2013/11/09 职场文书
市场营销专业个人求职信范文
2013/12/14 职场文书
员工薪酬福利制度
2014/01/17 职场文书
文秘档案管理岗位职责
2014/03/06 职场文书
党员干部承诺书
2014/03/25 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
夫妻房产协议书的格式
2014/10/11 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
护士年终考核评语
2014/12/31 职场文书
2015年教师节活动总结
2015/03/20 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python
解决hive中导入text文件遇到的坑
2021/04/07 Python
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
Python函数对象与闭包函数
2022/04/13 Python
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers