2016-03-22 21 views
3

私はJqueryを使用してAddボタンで行を追加するリストを持っています。今私も動的に追加された行を削除したいので、私は行とともに削除ボタンを動的に作成したが、その削除ボタンは機能していない。Jqueryは動的に追加された行を削除します。

<div id="quantityTable"> 
    <div class="row frmrw"> 
      <div class="form-group col-md-6"> 
       <label class="col-md-6 control-label" for="name">Quantity:</label> 
       <div class="col-md-6"> 
         <input type="text" class="form-control" placeholder="Quantity" name="quantity" /> 
       </div> 
    </div> 
    <div class="form-group col-md-6"> 
      <div data-role="button" id="addQty" class="btn btn-success">Add Quantity</div>       
    </div> 

私は削除ボタンをクリックすると削除ボタン

$("#addQty").click(function() { 

       $("#quantityTable").append("<div class=\"row frmrw\"> "+ 
            "<div class=\"form-group col-md-6\"> "+ 
            "<div class=\"col-md-6\">"+ 
            "<input type=\"text\" class=\"form-control\" "+ 
            "placeholder=\"Quantity\" name=\"quantity\" /> </div></div> "+ 
            "<div class=\"form-group col-md-6\">"+ 
            "<div data-role=\"button\" id=\"rmvQty\" class=\"btn btn-success\"> "+ 
            "Remove Quantity</div> </div> </div>"); 
      } 
      ); 

と一緒にリストに同様の行を追加しjqueryのは、今、私は

particular行ことを削除する必要があります
$("#rmvQty").on("click", function() { 
       console.log("as"); 
      }); 

まず、削除用のjqueryが機能していない私はクリックされた行を削除します。

EDIT:あなたはそれをこのようにイベントをバインドすることはできませんので、私の解決策

$("#quantityTable").on("click", function (e) { 
       if(e.target.id == "rmvQty"){ 
        e.target.parentNode.parentNode.remove(); 
       } 
      }); 
+1

一部が重複したIDフィールドを追加しているということです。 '$( 'DUPEID')は、IDが一意であると考えられるので、最初に見つけたIDだけを取得すると確信しています。 – mix3d

+0

はい、意味があります。私は別のIDを与える必要があります。私ができることは、カウンターをつけて、IDにカウントを追加することです。 Jqueryを削除するにはNボタンを削除し、明らかにそのjqueryスクリプトがたくさんあるはずです。私は親にバブルしてIDを解析し、それに応じて要素を削除する必要があると思います。 – user3342812

+0

しかし、スコープが正しく処理されている場合は、IDで参照する必要はありません。それぞれの新しい行のルートが '.btn'からのクリックをリッスンしている限り、それ自体を削除することができ、どの行がどれであるか心配する必要はありません。 – mix3d

答えて

0

要素は、ページのロードには存在しません。

あなたは使用する必要があります:あなたの問題の

$(document).on('click', '#rmvQty', function(){ 
    console.log("as"); 
}); 
+0

私はこれが良いアプローチだとは思わない、確かに "うまくいく"とは思うが、ドキュメントをクリックしないようにする必要はない。問題の要素だけにカプセル化する必要がある。 – mix3d

+0

本当に、これはその動作を説明するためのものです –