0

ユーザーが追加した入力を無限に持つことができるフォームがあります。

例として、「参照の追加」セクションを持つ求人応募を想像してみてください。「+」ボタンと、すでに追加されている参照の横に「削除」ボタンがあります。

テンプレートの例を次に示します

<script type="text/template" id="referenceTmpl">
    <div>
        <h2>Reference No. <%= index %></h2><a id="removeRef<%= index %>">Remove</a>
        Name:  <input type="text" name="references[<%= index %>].name" />
        Email: <input type="text" name="references[<%= index %>].email" />
        (...)
    </div>
</script>

「参照」が削除されたら、他の番号を付け直したいと思います。フォーム入力にはすでに保存されていないデータが含まれている可能性があるため、テンプレートを完全に再レンダリングせずに入力する必要があります。ソリューションはより複雑なアプリケーションで使用される可能性があるため、これを販売可能な方法(入力ごとに余分なコードをあまり必要としない方法)で実行したいと思います。

ソリューションがjQueryの恩恵を受けることができるのであれば、私がjQueryを使用していると思い込んでください。

何か案は?

4

1 に答える 1

1

コードをハッキングせずにこの種のことを行う最良の方法は、いわゆる「参照」にモデル(リスト)を使用することです。


Backbone.jsをUnderscore.jsと組み合わせて試す必要があります: Backbone.jsドキュメント

まさにあなたが望むことをするTODOサンプルアプリケーションがあります:


セットアップには時間がかかる場合がありますが、完了すると、作業がはるかに迅速に完了します。

于 2012-05-07T15:16:38.087 に答える