hangi satır kontrol etmek için iyi bir yoldur değişti (html / jquery / php)

2 Cevap php

Ben php ile oluşturulan bir html tablo var.

This list can have records of over 20000 records, so I added a paging on this list. In this list you can modify the rows you like, when you hit save, it saves the changes in a temp table and only after you hit apply changes, the actual changes are applied in the main table. Before you hit apply changes, it shows in the list the changed rows with an indicator.

Şimdi bütün bu işleri, ama sadece gösterilen 50 1 satırını değiştirmek zaman şu, bu geçici tablo 50 satırları kaydeder. Bana 50 kayıtları (gerçekten ne istiyorum) üzerinde bir gösterge verir.

Sorum şu: Benim geçici tablo bu kaydetmeden önce değişti, hangi satır bilmek için iyi bir yolu nedir?

2 Cevap

Tamam benim kendi soruna bir çözüm bulduk.

Jquery küçük bir yardımı ile benim çözüm elde başardı.

Ben class = "değişti" ile benim masada bir gizli metin alanı eklendi.

Ben listemde her alanda (her satır için 4 farklı sınıf adları) için aynı sınıf adına göre bir jquery tıklama işlevi eklenen her alanda 4 düzenlenebilir alanları (2 tarih alanları ve 2 onay kutularını) var.

jQuery örnek kutusu:

$('input.activated').click(function(){

    $(this).parents('tr').find('input.changed').attr('value', 'changed');

});

Yani şimdi değişiklikleri kaydetmek tıkladıklarında -> benim php kod kontrolleri gizli alan benim geçici tablo değiştirilen satırları kaydetmek için "değişti" eşitse.

Bu iyi bir çözüm gibi geliyor bana.

JavaScript olay heyetini kullanabilirsiniz. Daha sonra olayları dinlemek ve hedef kontrol, bireysel değil çocuklar üzerinde, bir üst düzeyde bir olay dinleyicisi ekleyin.

Her Olay nesnesi bir target özelliği vardır. Hedef olayı tetikleyen nesnedir.

http://docs.jquery.com/Events/jQuery.Event#event.target: Eğer jQuery dokümantasyon sitesinde iyi bir örnek görebilirsiniz

Event delegation is especially useful on large amounts of data that need event handlers. Read more about what event delegation is at: http://icant.co.uk/sandbox/eventdelegation/