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 相关文章推荐
Extjs Ext.MessageBox.confirm 确认对话框详解
Apr 02 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
Apr 24 Javascript
jQuery循环动画与获取组件尺寸的方法
Feb 02 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
Aug 24 Javascript
JavaScript 模块的循环加载实现方法
Dec 13 Javascript
1秒50万字!js实现关键词匹配
Aug 01 Javascript
Bootstrap CSS布局之代码
Dec 17 Javascript
JS异步加载的三种实现方式
Mar 16 Javascript
使用Angular CLI从蓝本生成代码详解
Mar 24 Javascript
微信小程序实现bindtap等事件传参
Apr 08 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
May 08 Javascript
原生JavaScript实现的无缝滚动功能详解
Jan 17 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跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
详解Vue+elementUI build打包部署后字体图标丢失问题
2020/07/13 Javascript
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
python动态网页批量爬取
2016/02/14 Python
python类的继承实例详解
2017/03/30 Python
selenium+python截图不成功的解决方法
2019/01/30 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
python实现大学人员管理系统
2019/10/25 Python
canvas画图被放大且模糊的解决方法
2020/08/11 HTML / CSS
T3官网:头发造型工具
2019/12/26 全球购物
英国名牌男装店:Standout
2021/02/17 全球购物
财务会计毕业生个人求职信
2014/02/03 职场文书
父母寄语大全
2014/04/12 职场文书
小学英语课后反思
2014/04/26 职场文书
班委竞选演讲稿
2014/04/28 职场文书
大三学习计划书范文
2014/05/02 职场文书
质量月口号
2014/06/20 职场文书
就业证明函
2015/06/17 职场文书
安全生产会议制度
2015/08/06 职场文书
Python还能这么玩之用Python修改了班花的开机密码
2021/06/04 Python
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫
Python OpenCV实现图像模板匹配详解
2022/04/07 Python