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 相关文章推荐
3种不同方式的焦点图轮播特效分享
Oct 30 Javascript
js的正则test,match,exec详细解析
Jan 29 Javascript
JavaScript设计模式之工厂模式和构造器模式
Feb 11 Javascript
JavaScript中的依赖注入详解
Mar 18 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
Feb 25 Javascript
浅谈jquery设置和获得checkbox选中的问题
Aug 19 Javascript
webpack入门必知必会
Jan 16 Javascript
基于JavaScript实现验证码功能
Apr 01 Javascript
vue做网页开场视频的实例代码
Oct 20 Javascript
Vue动态路由缓存不相互影响的解决办法
Feb 19 Javascript
JavaScript Tab菜单实现过程解析
May 13 Javascript
vue+spring boot实现校验码功能
May 27 Vue.js
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
写一个用户在线显示的程序
2006/10/09 PHP
PHP脚本的10个技巧(3)
2006/10/09 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
AngularJS中的JSONP实例解析
2016/12/01 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
jQuery使用bind函数实现绑定多个事件的方法
2017/10/11 jQuery
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
2019/10/02 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
[02:11]2014DOTA2 TI专访VG战队Fenrir:队伍气氛良好
2014/07/11 DOTA
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
浅谈Python中的私有变量
2018/02/28 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
Python爬虫过程解析之多线程获取小米应用商店数据
2020/11/14 Python
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
迟到检讨书900字
2014/01/14 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
幼儿园六一主持词
2015/06/30 职场文书
html5表单的required属性使用
2021/07/07 HTML / CSS