2016-03-22 23 views
3

Jquery'yi kullanarak Ekle düğmesiyle satır eklediğim bir listem var. Şimdi dinamik olarak eklenen satırları da kaldırmak istiyorum, böylece satırlarla birlikte bir silme butonu da yarattım ama silme butonu çalışmıyor. Jquery dinamik olarak eklenmiş satırları kaldırın

<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> 
ben çıkarmam gerekiyor kaldır düğmesini tıkladığımızda

$("#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>"); 
      } 
      ); 

Şimdi bir kaldırma düğmesiyle birlikte listede benzer bir satır ekler jquery o particular satır

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

İlk olarak, kaldırılacak jquery çalışmıyor ve ikinci olarak nasıl yapılır? Tıklanan satırı kaldırırım.

DÜZENLEME: Benim çözüm

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

Bölüm yinelenen Kimliği alanlarını ekleyerek olmasıdır. Eminim ki, '$ (' DUPEID '), kimlikleri benzersiz olduğu için sadece bulduğu ilk kimliği alacaktır. – mix3d

+0

evet bu mantıklı. Farklı bir kimlik vermem gerekecek. Yapabileceğim şey, bir sayaç tutmak ve sayımı kimliğe eklemek. ama daha sonra JQuery kaldırmak için N kaldır düğmesi olacak ve tabii ki pek çok jquery betiği olamaz. Sanırım ebeveyne kabarcık atmak ve kimliği ayrıştırmak ve buna bağlı olarak – user3342812

+0

elemanını silmek gerekir. Ancak, alanınız doğru bir şekilde işlendiyse, kimliğe başvurmanız gerekmeyecektir. Her yeni satırın kökü '.btn'den tıklamaları dinledikçe, kendisini kaldırabilir ve hangi satırın endişelenmesi gerekmez. – mix3d

cevap

0

buna bu şekilde bir olay bağlamak değil, böylece eleman, sayfa yüklemesinde yok.

Sen kullanmalıdır? Sorunun

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

Bunun iyi bir yaklaşım olduğunu düşünmüyorum, "işe yaradığı" ndan emin olun, ancak dokümanın tıklamaları dinlemesine gerek yok, yalnızca söz konusu öğeler için kapsüllenmiş olmalıdır. – mix3d

+0

Doğru, bu sadece nasıl çalıştığını göstermek içindi –

İlgili konular