入力を動的に追加するフォームがあります。新しい入力を追加すると、グローバルid
変数をインクリメントし、それを入力の ID に連結して、一意になるようにします。また、入力ごとに削除ボタンを作成し、その入力と自分自身を削除する必要があります (コンテナーを削除することによって<div>
)。JQuery を介して削除ボタンのクリック イベントに匿名関数を追加することで、削除プロセスを実行します。
$('#deletebutton' + id).click(function(){
$('#inputcontainer' + id).remove();
});
このソリューションの唯一の問題は、私が例外として機能しないことです。いずれかの削除ボタンをクリックすると、最後の入力コンテナーが削除されます。クリックすると、匿名関数が実行され、id
その時点で変数が評価されるため、選択した ID が最後の入力の ID になります。したがって、常に最後の入力コンテナが削除されます。
この関数を書き直す方法があるので、クリックイベントに追加すると、 が評価され、注入され、選択が、 などid
のよう#inputcontainer1
に記述されているかのように処理されます。#inputcontainer2
関数の本体をボタンのonclick()
イベントに追加することで、これを行うことができます。
var newbutton = '<button id="deletebutton' + id + '" type="button" onclick="javascript:$(\'#inputcontainer' + id + '\').remove();">x</button>';
しかし、JQuery の方法でこれを行う方法はありclick()
ますか?