jQuery复制表单元素附源码分享效果演示


Posted in Javascript onSeptember 30, 2015

我们在提交表单时,有时会遇到需要重复添加多个相同表单元素,如订单信息中需要添加多个不同型号的产品、表单数据中新增字段信息等。这个时候我们可以在表单中直接放置一个“新增一项”或“复制”按钮,通过点击按钮即可实现复制表单元素。

jQuery复制表单元素附源码分享效果演示

查看演示 下载源码

HTML

本文我们通过实例介绍一款简单的基于jQuery的元素复制插件,通过调用该插件轻松实现元素复制功能。

首先载入jQuery库文件和元素复制插件duplicateElement.min.js。

<script src="jquery.js"></script> 
<script src="duplicateElement.min.js"></script>

我们假设需要复制用户信息元素,表单html结构如下:

<form id="myform" name="myform" action="post.php" method="post"> 
  <fieldset id="additional"> 
    <label for="name">客户姓名:</label> 
    <input id="name" name="name[]" type="text" class="input" > 
    <label for="flag">客户级别:</label> 
    <select id="flag" name="flag[]"> 
      <option disabled="" selected="">请选择</option> 
      <option value="1">VIP</option> 
      <option value="2">普通</option> 
     </select> 
      <a href="javascript:void(0);" class="btn remove">移除</a> 
      <a href="javascript:void(0);" class="btn create">复制</a> 
    </fieldset> 
    <br/> 
    <div class="sub_btn"> 
      <input type="submit" class="button" value="提交"> 
    </div> 
</form>

jQuery

我们点击“复制”按钮时,将#additional里的内容进行复制,相当于新增一行,初始的时候只显示“复制”按钮,复制完后,原来的那条则显示“移除”按钮,点击“移除”则可将对应的行移除。

$(function () { 
    $('#additional').duplicateElement({ 
      "class_remove": ".remove", 
      "class_create": ".create", 
      onCreate: function (el) { 
        el.find("select").prop('defaultSelected'); 
        el.find(".input").val(''); 
      } 
    }); 
  });

我们还可以通过onCreate()回调函数来定义复制成功后,新增的表单元素的属性,如表单元素值或样式等。

以上内容就是给大家分享的jQuery复制表单元素附源码分享效果演示,希望对大家有所帮助。

Javascript 相关文章推荐
Prototype源码浅析 Enumerable部分之each方法
Jan 16 Javascript
JavaScript初学者应注意的七个细节小结
Jan 30 Javascript
JS控件的生命周期介绍
Oct 22 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
Jan 03 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
Feb 27 Javascript
教你用javascript实现随机标签云效果_附代码
Mar 16 Javascript
解决node.js安装包失败的几种方法
Sep 02 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
May 22 Javascript
Vue非父子组件通信详解
Jun 12 Javascript
Vue中使用clipboard实现复制功能
Sep 05 Javascript
小程序如何获取多个formId实现详解
Sep 20 Javascript
详细谈谈JavaScript中循环之间的差异
Aug 23 Javascript
js实现创建删除html元素小结
Sep 30 #Javascript
node.js下LDAP查询实例分享
Sep 30 #Javascript
Javascript中replace()小结
Sep 30 #Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 #Javascript
谈谈JavaScript异步函数发展历程
Sep 29 #Javascript
JavaScript 对象深入学习总结(经典)
Sep 29 #Javascript
深入浅析JavaScript中对事件的三种监听方式
Sep 29 #Javascript
You might like
php获取服务器信息的实现代码
2013/02/04 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
微信API接口大全
2015/04/15 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
PHP简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
js计算任意值之间随机数的方法
2015/01/16 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
Vue中props的使用详解
2018/06/15 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
在vue中使用inheritAttrs实现组件的扩展性介绍
2020/12/07 Vue.js
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python datetime时间格式化去掉前导0
2014/07/31 Python
九步学会Python装饰器
2015/05/09 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
Python3 操作符重载方法示例
2017/11/23 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
四年大学生活的个人自我评价
2013/12/11 职场文书
聚美优品广告词改编
2014/03/14 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
go语言map与string的相互转换的实现
2021/04/07 Golang
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技