2011-09-23 6 views
5

dışında tıklanabilir satır tıklanabilir benim tablodaki href tıklanabilir ve bağlantılı satırları almak başardı. Ancak, seçiciyi sadece son sütun dışındaki satırları seçtiğimde sorun yaşamaya başladım.jquery satır son sütun

Aşağıdaki kodda, tıklanabilir satır yalnızca, bu hücrede yönetim bağlantılarına sahip olduğum, gereksinim duyduğum son hücre hariç tüm satır için etkindir (etkinleştirme, düzenleme, silme vb. Satırlar). Tek sorun şudur ki hangi satır üzerine tıklarsanız onu en üst sıradaki bağlantıya gönderirsiniz. Sanırım bu, seçimim için seçmenimle ('td a') bir ilgisi var ama ben bunu anlayamıyorum.

$('#dataTable tr td:not(:last-child)').click(function() { 
location.href = $('#dataTable tr').find('td a').attr('href'); 
}); 

vurgulu iyi çalışıyor ve fare son sütunda dışında herhangi bir hücrenin üzerine ise sadece işaretçi değiştirir. Tüm tabloda tr 's ve daha sonra iade edilecektir bulunursa ilk çapa alıyorsanız çünkü

$('#dataTable tr td:not(:last-child)').hover(function() { 
$(this).css('cursor','pointer'); 
    }, function() { 
    $(this).css('cursor','auto'); 
}); 

cevap

10

Öyle, bunu böyle değiştirmeyi deneyin:

$('#dataTable tr td:not(:last-child)').click(function() { 
location.href = $(this).parent().find('td a').attr('href'); 
}); 

ne anlama geldiğini olacaktır Tıklanan öğeyi $ (bu) bir jquery nesnesi olarak alın ve sonra ebeveynine gidin. (satır öğesi).

+0

Çok teşekkürler. Bütün gece çalışmayı denedim. Ben jquery için yeni ve tüm tr's kapma düşündüm, ben sadece nasıl değiştirileceğini anlayamadım. Tekrar teşekkürler! – Andrew

1
$('#dataTable tr td:not(:last-child)').click(function() { 
location.href = $(this).parent().find('td a').attr('href'); 
}); 

Bunun işe yarayacağını düşünüyorum. Kodunuz her zaman href'i, dataTable'ınızda bulduğu ilk "a" den alır. Bu kod, aradığınız belirli bir td dosyasında bulur.