Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

jQuery Global Degisken

jQuery kullanmaya yeni basladim, su anda bir intranet stock yonetim sistemi yaziorm ve takildigim bir konu var, urunlerin database'e girisi icin tablolar kullaniorm jquery ile yazdigim fonksiyon otomatik olarak satir (row) eklememe yardimci oluyor, bu fonksionumda Counter adli bir degiskenim var her satirin basina otomatik sira numarasini yaziyor, bu fonksiyonu su sekilde kullaniyorm:

	$(document).ready( function() {

		var Counter = 1;
		$('#add').click(function (){ 
			Counter++;
			$('#table tr:last').after("eklenicek html kodlari...");
		});


bunu boyle degilde ayri olarak yazinca mesela function ekle() ve bunu $('#add').click( ekle) die cagirinca Counter degiskeni ile ilgili hata aliorm (NAN) bu degiskeni daha yukarda declare edip sonra fonskioyonun icinde kullanmam icin ne yapmaliyim, php de sanirim global var kullaniliyor, jquery de bole bir sey var mi?
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • 2
    madpoet adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    83 cevap - 0 soru
    jQuery değil javascript'te global değişken var mı daha doğru bir soru olacaktı :)
    jQuery malumunuz bir frameworktür, değişkenlerin scope'uyla falan ilgilenmez...

    Javascript'te global diye bir tanım yok, biraz daha farklı çalışır. Mesela bu koddaki Counter değişkeni sadece document.ready içine yazdığınız fonksiyonun içerisinde geçerli. Eğer var Counter = 1; tanımını örneğin click'in içindeki function tanımlamasının içerisinde tanımlasaydınız sadece o fonksiyonun içerisinde geçerli olacaktı, document.ready'nin içindeki function'da geçerli olmayacaktı.

    Yani tanımladığınız kod bloğunun alt seviyelerinde geçerli olup üst seviyelerinde geçerli olmuyor değişkenler.

    Peki bu durumda sizin sorununuzun çözümü ne olmalı?
    Ya document.ready'nin de üstüne var Counter=1; koymak, bu durumda ama sayfanın en tepesine koymak lazım. Ya da jQuery.data kullanılabilir...

Cevaplar

  • Vedia adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    66 cevap - 21 soru
    Prensip olarak, sayfa genelinde kullanmak istediğiniz tüm değişkenleri, sayfanızdaki ilk <script> bloğunun ilk satırından itibaren bir değer atayarak tanımlamanız yeterli olacaktır.

    <script>
    aa=1
    bb=2
    cc=3
    $(document).ready ( ......
    .....
    .....
    </script>