2

私はこの次のフォームを持っています

<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);
});

追加をクリックすると、必要に応じてフォーム要素が挿入され、削除をクリックすると要素が削除されます。みんなのヒントをありがとう問題は解決しました!みんなありがとう。

4

3 に答える 3

4

row-fluid( ) のコンテンツ全体ではなく、( ) のコンテンツを複製する必要があると思います。これにより、リンクWrapperをクリックしたときに元のフォーム テンプレートの行を追加できるようになります。AddMore

これは、@ user2389688 による提案されたソリューションの編集です。

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

JsFiddle リンク: http://jsfiddle.net/tCY8v/1/

于 2013-10-28T15:46:34.127 に答える
0

例えば:

$('#addMore').click(function() {
    $('.row-fluid').eq(0).clone().insertBefore(this);
});
于 2013-10-28T15:44:05.170 に答える