無限の数のユーザーが追加した入力を持つフォームがあります。アンダースコアjs - 番号を付け直すテンプレートのレンダリングされた要素の属性
例として、「参照の追加」セクションを持つジョブアプリケーションを想像してみてください。すでに追加されている参照の隣には「+」ボタンと「Remove」があります。
は、ここで例のテンプレート任意の「参照」が削除されると、私は他の人の番号を変更したいのですが
<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を使用しています。
アイデア?
私は間違っているかもしれませんが、バックボーンでこのようなことを実装しないのは同じ問題がありますか?私は、テンプレートを再作成することで、すべてのものを一掃してしまうと考えました。または、jsオブジェクト内のすべてのプロパティを管理し、onkeyupオブジェクト(テンプレート内のそれらの小道具を含む)に常に保存することをお勧めしますか? – gerges
バックボーンは、モデルを常に最新の状態に保ちます。バックボーンモデル(リスト)の中の何かが変化したとき。モデルビューが再レンダリングされます。したがって、ビューが構築されるときにindex ++のようなものを使用してリストに番号を付けることができます。 –