-2

これは私を少し狂わせています。

それぞれがいくつかのフォームフィールドで埋められた一連の動的 div を持つフォームがあります。ユーザーはこれらの div の 1 つを削除できます。その際、コンテナーで jQuerys remove メソッドを呼び出します。

コンテナーが破棄され、DOM から削除されていることが firebug でわかります。ただし、ページのソースを表示すると、まだそこにあります。

フォームを投稿すると、削除されるべきフィールドがまだ投稿されています!

フォームフィールドの名前を「ハック」として手動で変更できると思いますが、ここで何か不足していますか?

これが例です

<script language="javascript">
$(document).ready( function(){
    $(".remove").live("click", function(){
       $(this).parents(".container").remove();
   });
});
</script>


<form>

<div class="container">
    <input type="text" name="name_1">
    <a href="" class="remove">Remove</a>
</div>

<div class="container">
    <input type="text" name="name_2">
    <a href="" class="remove">Remove</a>
</div>

<input type="submit">

</form>
4

2 に答える 2

1

変化する:

$(this).parents(".container").remove();

に:

$(this).closest('form').find(".container").remove();

これがあなたの意図したことのようです。

于 2012-12-15T21:34:54.503 に答える
1

これは私にとってはうまくいきます:http://jsfiddle.net/zBd24/

return false;イベントハンドラーで、空のhrefを持つリンクをクリックしても現在のページがリロードされません。

編集:フィドルからのコード:

$(document).ready( function(){
    $(".remove").live("click", function(){
       $(this).parents("div.container").eq(0).remove();
        return false;
   });
});​
于 2012-12-15T21:36:46.657 に答える