Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> AJAX - sortowanie rekordów
PHP_Addicted
post 17.09.2013, 11:08:53
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 2
Dołączył: 14.12.2011

Ostrzeżenie: (0%)
-----


Mam skrypt, który wyświetla mi wyniki pobrane z bazy danych w tabelce:

  1. <div id="right">
  2. <?php
  3. $ile = $db->getAmount(); // zlicza ilość wyników
  4. printf($Client->renderTable($wynik,$ile)); // wyświetlenie tabeli
  5. ?>
  6. </div>


efekt jest następujący:



Do przycisków obok Nazwa i Dodano są przypisane następujące zdarzenia jQuery:

Kod
$(document).ready(function(){
$('#sortdate').click(function() {
  $.post(
      './functions/AJAXsortname.php',
      {
      sort:'c_date'
  },
  function(returned_data)
         {
         $('#right').html(returned_data);
         }
  );
});
});

$(document).ready(function(){
$('#sortname').click(function() {
  $.post(
      './functions/AJAXsortname.php',
      {
      sort:'c_name'
  },
  function(returned_data)
         {
         $('#right').html(returned_data);
         }
  );
});
});


a plik AJAXsortname.php wygląda tak:

  1. include '../classes/client.php';
  2. include '../classes/database.php';
  3. $Client = new Client();
  4. $db = new dbh();
  5. $wynik = $db->searchClient('',$_POST['sort']);
  6. $ile = $db->getAmount();
  7. printf($Client->renderTable($wynik,$ile));


Problem polega na tym, że przy pierwszym użyciu guzika wyniki w tabeli są sortowane. Natomiast po wyświetleniu posortowanych wyników nie można wykonać żadnego innego zdarzenia poprzez jQuery (ani sortowanie, ani nawet alert). Czy ktoś obeznany w temacie mógłby podpowiedzieć w czym problem?

Dzięki z góry za pomoc.

Ten post edytował PHP_Addicted 17.09.2013, 11:09:30
Go to the top of the page
+Quote Post
greg.paw.90
post 17.09.2013, 11:26:04
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 8
Dołączył: 12.06.2009
Skąd: Wielkopolska

Ostrzeżenie: (0%)
-----


użyj np. on() zamiast click()
Go to the top of the page
+Quote Post
PHP_Addicted
post 17.09.2013, 21:18:11
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 2
Dołączył: 14.12.2011

Ostrzeżenie: (0%)
-----


Cytat(greg.paw.90 @ 17.09.2013, 12:26:04 ) *
użyj np. on() zamiast click()


Użyłem on(), ale w bez skutku. W sumie to powywalałem wszelakie zdarzenia ajaxowe, zostawiłem sam alert i wtedy zdarzenia poprawnie się wywołują. Więc wydaje mi się, że problem jest w jakiś sposób powiązany z:

Kod
$('#right').html(returned_data);
Go to the top of the page
+Quote Post
greg.paw.90
post 18.09.2013, 07:51:57
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 8
Dołączył: 12.06.2009
Skąd: Wielkopolska

Ostrzeżenie: (0%)
-----


w ten sposób próbowałeś ?

[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2.  
  3. var el = $('#right');
  4.  
  5. el.on('click', '#sortdate', function(){
  6. $.post('./functions/AJAXsortdate.php',{sort:'c_date'},function(returned_data){
  7. el.html(returned_data);
  8. });
  9. });
  10. el.on('click', '#sortname', function(){
  11. $.post('./functions/AJAXsortname.php',{sort:'c_name'},function(returned_data){
  12. el.html(returned_data);
  13. });
  14. });
  15.  
  16. });
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
PHP_Addicted
post 18.09.2013, 13:38:49
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 2
Dołączył: 14.12.2011

Ostrzeżenie: (0%)
-----


Cytat(greg.paw.90 @ 18.09.2013, 08:51:57 ) *
w ten sposób próbowałeś ?

[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2.  
  3. var el = $('#right');
  4.  
  5. el.on('click', '#sortdate', function(){
  6. $.post('./functions/AJAXsortdate.php',{sort:'c_date'},function(returned_data){
  7. el.html(returned_data);
  8. });
  9. });
  10. el.on('click', '#sortname', function(){
  11. $.post('./functions/AJAXsortname.php',{sort:'c_name'},function(returned_data){
  12. el.html(returned_data);
  13. });
  14. });
  15.  
  16. });
[JAVASCRIPT] pobierz, plaintext


Działa, dzięki wielkie wink.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 16:07