jQuery ile ilgili

Bu soru iptal edilmiştir...
merhaba arkadaşlar,

jQuery ile ilgili bir işlemde aşağıda tıkandım

<script type="text/javascript">
$(document).ready(function($){
	$("a.duzenle_h_kategori").click(function(){
		var parent = $(this).parent().attr('id').replace('hakkimizda-','');
		var islem = "islem=hKatDuzenleGoster&id="+parent;
		$.post("islemler.php", islem, function(data) {
			$('#gizle-goster').html(data);
			$("#hKatDuzenleK").click(function(){
				if($("#kat").val()!=""){
					var deger = "islem="+$("#islem").val()+"&id="+$("#id").val()+"&kat="+$("#kat").val()+"&altkat="+$("#altkat").val();
					$.post("islemler.php", deger, function(data) {
						$('#hKategoriListele').html(data);
						$('#gizle-goster').html('');
					});
				}
			});
		});		
	});
});
</script>

Arkadaşlar #hKatDuzenleK'ya tıkladıktan sonra başka bir a.duzenle_h_kategori linkine tıkladığım anda çalışmıyor.. Bunun sebebini anlayamadım bir yardımcı olur musunuz?

Tekrar sorumu sormam gerekirse tabloda kategori adlarını listeliyorum. Düzenle linkine tıklandığı tablonun altında düzenleme formu çıkıyor. Formu doldurup gönderiyorum ve form kayboluyor tablo da yeniden çekiliyor.. fakat yeniden çekilen tabloda düzenle linki aktif değil yani çalışmıyor.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • necmettin adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    80 cevap - 0 soru
    jQuery ile yeni tabloyu çektiğinde, o sayfadaki a.duzenle_h_kategori'lere bu yazdığın fonksiyon atanmış olmuyor. jQuery.live kullanacaksın, ya da tablonun yeni halini çektikten sonra document.ready'ye yazdığın kodu yeniden çalıştıracaksın.

    Mevzuyu açıklayayım:
    document.ready'ye bu fonksiyonu atadığında, sayfadaki tüm a.duzenle_h_kategori'lerin click olayına bu fonksiyon atanıyor; ama kaydı değiştirdikten sonra tabloyu yeniden yüklediğinde a.duzenle_h_kategori'lerin click olayında bu fonksiyon yok.

    jquery.live ile uğraşmayayım diyorsan (ki aslında uğraştıran birşey değildir), şöyle yapabilirsin:
    document.ready içerisine yazdığın fonksiyonu ayrı bir fonksiyon olarak yaz, document.ready içerisinde o fonksiyonu çağır
    tabloyu yükledikten sonra o fonksiyonu yeniden çağır.
    • sagoral adlı üyenin fotoğrafı sagoral
      Biraz araştırdım bende öyle olduğunu anladım zaten.. Tablonun altında çağırdım jQueryi.. Daha sonra gidip yeni gelen tablonun altında bir daha çağırdım sorunumu öyle çözmüştüm.. Ama sana benden bir doğru cevap.. Şimdi jQuery.live neymiş onu araştırayım böyle birşeyden haberim yoktu..

      teşekkürler,
      10 yıl önce yazılmış