1

私はこのようなhtmlコーディングを持っています:

<form>
<table class="tabelWhiteJenisPembayaran">
    <tbody>
        <tr>
            <td><input type="text" class="whiteJenisPembayaran" name="whiteJenisPembayaran[]" placeholder="Jenis Pembayaran" autocomplete="off" style="margin-bottom: 5px;"/></td>
        </tr>
    </tbody>
</table>
<button class="btn btn-primary" type="submit">Simpan</button>
<button class="btn" type="reset">Batal</button>
</form>

そして私は以下のようなJavaScriptコーディングをしています:

$("table.tabelWhiteJenisPembayaran tbody tr:last").live('click', function(){
    var tr = '<tr><td><input type="text" class="whiteJenisPembayaran" name="whiteJenisPembayaran[]" autocomplete="off" style="margin-bottom: 5px;" placeholder="Jenis Pembayaran"/></td></tr>';
    $("table.tabelWhiteJenisPembayaran tbody").append(tr);                  
}); 

フォームをクリックすると、新しいフォームが表示されます。たとえば、最後のフォームで3回クリックすると、フォーム全体で4つのフォームが表示されます。「リセット」をクリックすると、以前と同じように4つのフォームから1つのフォームにあったフォームの数をどのようにリセットするのか疑問に思います。もう一度1フォームにリセットする方法。助けてください。

4

3 に答える 3

0

これがあなたの望むものかどうかはわかりません。すべてのフォームをリセットしたいと思います。

$('form').each(function(){
    this.reset()
});
于 2012-12-11T08:36:52.980 に答える
0

最初のフォーム要素とその子のクローンを作成し、リセットボタンがクリックされたときにフォームをクローンに置き換えることができます。

ここにフィドルがありますhttp://jsfiddle.net/qZ6nK/

<script type="text/javascript">
    var formClone = null;
    $(document).ready(function() {
        formClone = $('table.tabelWhiteJenisPembayaran').parents('form').clone();
        $("table.tabelWhiteJenisPembayaran tbody tr:last").live('click', function(){
            var tr = '<tr><td><input type="text" class="whiteJenisPembayaran" name="whiteJenisPembayaran[]" autocomplete="off" style="margin-bottom: 5px;" placeholder="Jenis Pembayaran"/></td></tr>';
            $("table.tabelWhiteJenisPembayaran tbody").append(tr);                  
        }); 
    });
    function onReset(e) {
        var parent = $('table.tabelWhiteJenisPembayaran').parents('form').parent();
        $('table.tabelWhiteJenisPembayaran').parents('form').remove();
        parent.append(formClone);
        formClone = $('table.tabelWhiteJenisPembayaran').parents('form').clone();
    }
</script>

<form>
    <table class="tabelWhiteJenisPembayaran">
        <tbody>
            <tr>
                <td><input type="text" class="whiteJenisPembayaran" name="whiteJenisPembayaran[]" placeholder="Jenis Pembayaran" autocomplete="off" style="margin-bottom: 5px;"/></td>
            </tr>
        </tbody>
    </table>
    <button class="btn btn-primary" type="submit">Simpan</button>
    <button class="btn" type="reset" onclick="onReset(event)">Batal</button>
</form>
于 2012-12-11T08:43:06.170 に答える
0

この方法を試してください

$("table.tabelWhiteJenisPembayaran tbody tr:last").live('click', function(){
    var tr = '<tr><td><input type="text" class="whiteJenisPembayaran" name="whiteJenisPembayaran[]" autocomplete="off" style="margin-bottom: 5px;" placeholder="Jenis Pembayaran"/></td></tr>';
    $("table.tabelWhiteJenisPembayaran tbody").append(tr);                  
}); 

$("[type=reset]").click(function(){
     $('table.tabelWhiteJenisPembayaran tr:not(:first)').remove();
});
​

作業デモ

于 2012-12-11T08:45:56.423 に答える