javascript - 单击按钮后克隆整个表单元素

标签 javascript jquery html forms

我有以下表格

<form action="" class="form-horizontal">
<div id="wrapper">
    <div class="row-fluid">
        <div class="span6">
            <div class="control-group">
                <label class="control-label"><?=$core->l("default_comm_type");?></label>
                <div class="controls">          
                    <select id="fld_default_comm_type" name="fld_default_comm_type[]" defaultValue="-1" class="m-wrap span10" field="fld_default_comm_type" appEditor="true">
                        <?=combo_creator::render_default_comm_types()?>
                    </select>
                </div>
            </div>
        </div>
        <div class="span4 checkerAlign">
            <div class="control-group">
                <div class="controls">
                    <?=$core->l("is_active");?> 
                </div>
            </div>
        </div>
        <div class="span2 checkerAlign"><input type="checkbox" name="fld_active[]" id="fld_active" editType="booleanEdit" appEditor="true"/></div>
    </div>
    <div><a href="#" id="addMore">Add Row</a></div>
</div>

问题是当用户点击添加行按钮时,我需要在里面创建这个表单元素的副本

<div id="wrapper">

我该怎么做?

编辑:已解决

<form action="" class="form-horizontal" id="wrapper">
<div class="row-fluid">
    <div class="span6">
        <div class="control-group">
            <label class="control-label"><?=$core->l("default_comm_type");?></label>
            <div class="controls">          
                <select id="fld_default_comm_type" name="fld_default_comm_type[]" defaultValue="-1" class="m-wrap span10" field="fld_default_comm_type" appEditor="true">
                    <?=combo_creator::render_default_comm_types()?>
                </select>
            </div>
        </div>
    </div>
    <div class="span4 checkerAlign">
        <div class="control-group">
            <div class="controls">
                <?=$core->l("is_active");?> 
            </div>
        </div>
    </div>
    <div class="span2 checkerAlign"><input type="checkbox" name="fld_active[]" id="fld_active" editType="booleanEdit" appEditor="true"/></div>
</div>
<a href="#" id="addMore">add</a>
</form>

在Js部分:

jQuery("#addMore").click(function(){
 var contents = jQuery("form").html();
    jQuery("#wrapper").append(contents);
});

单击添加时,它会按照我的意愿插入表单元素 单击删除时,它会删除元素。谢谢你们的提示家伙 问题解决了!谢谢大家。

最佳答案

我认为你需要复制 (row-fluid) 的内容,而不是整个 (Wrapper) 的内容,这应该让你添加更多的原始行单击 AddMore 链接时的表单模板。

这是对@user2389688 建议的解决方案的编辑:

$("#addMore").click(function(){   
    $(".row-fluid:last").clone().appendTo(".wrapper");  
});

JsFiddle 链接: http://jsfiddle.net/tCY8v/1/

关于javascript - 单击按钮后克隆整个表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19638627/

相关文章:

javascript - Electron 的单元测试

javascript - 浏览器中的本地 HTML 文件显示 "File not found"错误

javascript - 在 Rails 3、jQuery 中通过轮询实现 Ajax 部分刷新

javascript - 使用鼠标选择表中包含数字的 Div 并求和

html - 图像后幻影 'padding'

javascript - javascript中的数组问题: Logic

javascript - 无法使用 Webpack 加载 ES6 模块

javascript - 设置文档就绪超时,如何设置

php - 简单的php$message显示中心?

html - 如何通过 x 轴拉伸(stretch)表格单元格中的背景图像?