2010-12-14 10 views
16

Masaya boş bir satır eklemek için kullanıyorum anahtar olayım var. Ancak, imleç tablonun son satırında olduğunda, tuş olayı meydana gelirse yeni satırın eklenmesini istiyorum.Şu anda bir HTML tablosunun son satırında olup olmadığınız nasıl söylenir?

Bu benim geçerli jQuery olayım. .glCreditValue, tablo satırının son TD'sinde bulunan bir giriş metin kutusunun sınıfıdır. Bu nedenle, kullanıcı o girdiden çıkarsa, girdinin içinde bulunduğu TD ise tablonun son satırındaysa, yeni bir satır eklemek istiyorum.

Tablo verileri dinamik olarak oluşturulduğundan, her satırın son TD'si .glCreditValue sınıfıyla bir giriş metin kutusuna sahiptir.

$(".glCreditValue").keydown(function(event) { 
     var keycode = event.keyCode; 
     if (keycode == 9) { 
      //HERE i would like to make sure that i'm in the last row of the table 
      AddNewRow(); 
     } 
    }); 

Tr: son seçiciden yararlanmaya çalışıyorum, ama buradan nereye gideceğime emin değilim.

+0

Son satırın veya son satırın son sütunundaki tıklamaları işlemek ister misiniz? – Emmett

+0

Sadece son sütun, bu yüzden sadece .glCreditValue anahtarını belirtiyorum. Yalnızca, her satırın son TD'lerindeki giriş metin kutularının kendilerine atanan sınıfı vardır. –

cevap

29

örneğin sen .closest() ebeveyn <tr> kontrol edip görebiliyordu Bunu yapmak için birkaç yolu vardır, bu gibi .is() bir :last-child: yükü kalmadan bunu yapmak için

$(".glCreditValue").keydown(function(event) { 
    if (event.which == 9 && $(this).closest("tr").is(":last-child")) { 
     AddNewRow(); 
    } 
}); 
+0

Bu hile yaptı! Teşekkürler! Benim cevabım olarak 6 dakika içinde bana izin verdiğimi kabul ediyorum, haha. –

+0

@Michael - welcome :) –

+0

@Nick Daha eski bir soruyu araştırmaktan nefret edersiniz, ancak vardiya anahtarının şartlı olarak kontrol edilmesi faydalı olabilir mi? Bu, "sekme-sol" un şartlı koşulu tetiklemesini engeller, değil mi? Her şeye rağmen müthiş cevap ...:] –

İlgili konular