私は入力フィールドを持つフォームを持っていて、クライアントはフィールドの下部にあるボタン「システムを追加」をクリックできます。この関数は、id = "template"のdivをクローンします。ここまでは順調ですね。jqueryクローンが私が期待したところに表示されない
Existing Form
Existing Form
Existing Form
Cloned 3
Cloned 2
Cloned 1
Add a System Button
んだけど、システムの追加ボタンの上tehの非常に最後の項目としてクローン化されたテンプレートを移動されませんし、それを必要とするもの:3クローン化された
Existing Form
Existing Form
Existing Form
Cloned 1
Cloned 2
Cloned 3
Add a System Button
はテンプレートが表示される場所であります3回目にボタンをクリックします。ユーザーが20個のシステムを追加すると、ボタンとフィールドは同時に画面に表示されません。 insertBeforeを探しましたが、明らかにJavaScriptには存在しません。
JSコード:ここで
function AddNewSystem(){
alert('Adding new system');
var CurrentLi = $('.template');
CurrentLi.clone().insertAfter($('#cloned'));
}
は私が話しているかを確認するにはjsfiddleです。 「テンプレートを追加」ボタンをクリックし、テンプレートが表示されたら1(または2または3など)に変更し、これを少なくとも3回繰り返します。この時点で、テンプレートの挿入方法がわかります。
私がやっていることよりもクローンを作成する良い方法はありますか?
James Montagneに感謝します。私は修正された関数を反映するようにjsfiddleを更新しました。 http://jsfiddle.net/Excalibur/Rm4uf/2/ – HPWD
IDを複製するのは良い方法ではありません。むしろクラス要素を複製する。あなたのDOMに同じ名前のIDが20個必要ないと確信しています。それは後であなたを問題に簡単に繋げることができます。 –
私はタイプミスでした。それをキャッチするためにありがとう。私のフィドルは正しい。 – HPWD