jQuery中clone()函数实现表单中增加和减少输入项


Posted in jQuery onMay 13, 2017

之前一直没有深入了解到clone()函数的方法,所以对应表单中增加和减少输入项一直使用如:

var copy_html=$(选择器).html(); 
alert(copy_html);

问题在于得出的copy_html直接是HTML内容代码,未经过object封装,而使用:

var copy_html=$(选择器).clone(); 
alert(copy_html);

得出未object对象类型,若$(选择器)包含了某个触发,如 onclick,如果想copy_html继续沿用onclick方法,只需添加true:clone(true)使用。

直接上图:

jQuery中clone()函数实现表单中增加和减少输入项

点击“+”,拷贝自身,并在自身之前追加:

jQuery中clone()函数实现表单中增加和减少输入项

增加方法:

$(function(){
//增加省份、招生人数

$(".addbtn").click(function(){


var copy_str=$(this).parents(".form-group").clone();


copy_str.find("i").removeClass("fa-plus").addClass("fa-minus");

//将按钮图标“+”,变为“-”




copy_str.find("button").removeClass("addbtn");





 //去除class名“addbtn”,避免新增的输入项沿用此添加方法


copy_str.find("button").attr("onclick","canelf(this)");




//增加点击删除自身触发事件


$(this).parent().parent().parent().before(copy_str);




//追加

});
});
//增加项,删除方法
function canelf(e){

$(e).parent().parent().parent().remove();
}

最后贴上HTML代码:

<div class="form-group">
<label class="control-label col-md-2 col-sm-3 col-xs-3">省份</label>
<div class="col-md-10 col-sm-9 col-xs-9 ">
<div class="col-md-2 col-sm-3 col-xs-3 " style="padding-left:0;">
<select class="form-control input-sm">
<option>全部</option>
<option value="北京">北京市</option>
<option value="浙江省">浙江省</option>
<option value="天津市">天津市</option>
<option value="安徽省">安徽省</option>
<option value="上海市">上海市</option>
<option value="福建省">福建省</option>
<option value="重庆市">重庆市</option>
<option value="江西省">江西省</option>
<option value="山东省">山东省</option>
<option value="河南省">河南省</option>
<option value="湖北省">湖北省</option>
<option value="湖南省">湖南省</option>
<option value="广东省">广东省</option>
<option value="海南省">海南省</option>
<option value="山西省">山西省</option>
<option value="青海省">青海省</option>
<option value="江苏省">江苏省</option>
<option value="辽宁省">辽宁省</option>
<option value="吉林省">吉林省</option>
<option value="台湾省">台湾省</option>
<option value="河北省">河北省</option>
<option value="贵州省">贵州省</option>
<option value="四川省">四川省</option>
<option value="云南省">云南省</option>
<option value="陕西省">陕西省</option>
<option value="甘肃省">甘肃省</option>
<option value="黑龙江省">黑龙江省</option>
<option value="香港特别行政区">香港特别行政区</option>
<option value="澳门特别行政区">澳门特别行政区</option>
<option value="广西壮族自治区">广西壮族自治区</option>
<option value="宁夏回族自治区">宁夏回族自治区</option>
<option value="新疆维吾尔自治区">新疆维吾尔自治区</option>
<option value="内蒙古自治区">内蒙古自治区</option>
<option value="西藏自治区">西藏自治区</option>
</select>
</div>
<div class="col-md-2 col-sm-3 col-xs-3">
<div class='input-group input-group-sm'>
<input type="text" class="form-control" placeholder="计划招生人数" />
<span class="input-group-addon">人
</span>
</div>
</div>
<div class="col-md-1 col-sm-2 col-xs-2">
<button type="button" class="btn btn-primary btn-sm addbtn"><i class="fa fa-plus"></i></button>
</div>
</div>
</div>

以上所述是小编给大家介绍的jQuery中clone()函数实现表单中增加和减少输入项,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

jQuery 相关文章推荐
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 jQuery
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
Jun 09 jQuery
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
Oct 19 jQuery
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
jQuery简单判断值是否存在于数组中的方法示例
Apr 17 jQuery
jQuery插件jsonview展示json数据
May 26 jQuery
jQuery超简单遮罩层实现方法示例
Sep 06 jQuery
jquery将json转为数据字典的实例代码
Oct 11 jQuery
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
jQuery遍历节点方法汇总(推荐)
May 13 #jQuery
jQuery手风琴的简单制作
May 12 #jQuery
jQuery.ajax向后台传递数组问题的解决方法
May 12 #jQuery
jQuery遮罩层实例讲解
May 11 #jQuery
jQuery zTree树插件动态加载实例代码
May 11 #jQuery
jQuery实现的简单在线计算器功能
May 11 #jQuery
jQuery+PHP+Mysql实现抽奖程序
Apr 12 #jQuery
You might like
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
2013/12/05 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
2015/08/12 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
深入理解jQuery中的事件冒泡
2016/05/24 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
python设置环境变量的作用整理
2020/02/17 Python
你正在寻找的CSS3 动画技术
2011/07/27 HTML / CSS
CSS3制作3D立方体loading特效
2020/11/09 HTML / CSS
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
迪奥美国官网:Dior美国
2019/12/07 全球购物
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
Java如何获得ResultSet的总行数
2016/09/03 面试题
工商企业管理应届生求职信
2013/11/03 职场文书
哈理工毕业生的求职信
2013/12/22 职场文书
商场总经理岗位职责
2014/02/03 职场文书
医学求职信
2014/05/28 职场文书
学习礼仪心得体会
2014/09/01 职场文书
小学优秀班主任材料
2014/12/17 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android
Golang 实现 WebSockets 之创建 WebSockets
2022/04/24 Golang