2010-05-19 30 views
5

kullanarak dinamik olarak oluşturulmuş düğmelerin listesine sahibim ve çalışma zamanında id oluşturulur. JQuery'yi kullanarak tıklatılan düğmenin kimliğini nasıl edinebilirsiniz.Düğme üzerindeki öğenin kimliğini alın jquery

var btn = 
    $("<input type='button' value='Delete' />") 
    .attr("id", "btnDel" + $("#hid").val()) 
    .click(function() { 
     alert(this.id); 
    }); 
$("body").append(btn); 
+0

gibi bir sınıf eklemek 'createdButton' veya bu dinamik olarak yaratılan butona istediğiniz her şeyi ekleyin ve daha sonra Jan Willem B'nin yanıtını kullanabilirsiniz: http://stackoverflow.com/questions/2864327/get-id-of-element-on-button-click-using -jquery/2864340 # 2864340 – jigfox

+0

Düğmenin kimliğini neden ilk sırada değiştiriyorsunuz? Bunu yapmak için garip bir şey buluyorum ... – RoToRa

cevap

23

sizin Örneğin böyle olurdu: Burada

kodu yayınlanmıştır

var btn = " <input type='button' id='btnDel' value='Delete' />"; 


$("#metainfo").append(txt); //set value of 

$("#btnDel").attr("id", "btnDel" + $("#hid").attr("value")); 
+0

Tüm dinamik düğmeler benzersiz kimliklere sahiptir ve kodunuz çalışmıyor. – Xulfee

+0

@Xulfee - Çalışıyor ** önce ** düğmesi oluşturdunuz, ya da oluşturduktan ve kimliği ayarladıktan sonra? Önceden varsa, '.live ('click', function() {})' yerine '.click (function() {}) ' –

1
$('.generatedButton').click(function() { 
    alert(this.id); 
}); 

DÜZENLEME sonra js kodunu olduğunu

$("#btnDel").click(function() { 
    alert(this.id); 
}); 

Not o Sahip olduğunuz kodu değiştiremezsiniz, ID , benzersiz olmalıdır, yoksa geçersiz HTML gibi, her türlü yan etkiyi elde edersiniz. Belge hazır sonra

$("input").click(function() { 
    alert(this.id); 
}); 
+0

.generatedButton nedir? – Xulfee

+0

@Xulfee bu, jQuery ile bulmak için düğmenin 'class'-özniteliğine' generateButton' (nokta olmadan) ekleyebileceğiniz bir örnektir (http://api.jquery.com/class-selector/) – jigfox

+0

Sorunuzda gönderdiğiniz kod çalışmaz (örneğin, btn var sadece bir tarayıcı tarafından oluşturulduğu halde bir düğmeyle sonuçlanacak bir dize içeren bir dize içerir, ancak düğmenin kendisi değil), ancak bu yanıtı güncelleştirdim Size yardımcı olmak için. –

0

Sen düğmenin tıklama olay eklemek gerekir (Loaded): Eğer herhangi bir giriş için bir tıklama işleyicisi istiyorsa, bu gibi seçici değiştirmek

$(document).ready(function(){ 
    $("#btnDel").click(function() { 
     alert('Button clicked.'); 
    }); 
}); 
+1

' ı kullanmalısınız. – gsamaras

İlgili konular