2011-07-07 14 views
5

Mam listę, która jest wypełniona przez ajax. Na tej liście mogę dodawać i usuwać elementy za pośrednictwem ajax, a także sortować je. Mam z tym dwie problemy.Funkcja do sortowania, gdy zawartość jest aktualizowana za pomocą ajax

Pierwszym z nich jest tutaj i to wciąż nierozwiązana: https://stackoverflow.com/questions/6370213/jquery-dynamic-dragn-drop-doesnt-update-order (po Sortowanie listy liczbę elementów, które pochodzą z bazy danych nie zostaną zaktualizowane, dopóki nie odświeżać)

Drugim jest gorzej. Po aktualizacji zawartości na mojej liście przez ajax (powiedz, że dodaję nowy element), funkcja sortable przestaje działać, dopóki nie przeładuję strony. Wygląda na to, że nie będzie działać z sortowalnym i nie mam pomysłów z tym. Dodam niektóre z moich kodu:

Moja lista wygląda tak:

<ul id="listaruta"> 
    <li> ... </li> 
</ul> 

Mój skrypt do sortowania przedmiotów:

$(function() { 
    $("ul#listaruta").sortable({ 
     opacity: 0.6, 
     cursor: 'move', 
     update: function() { 
      var order = $(this).sortable("serialize") + '&action=updateRecordsListings'; 
      $.post("/plugins/drag/updateDB.php", order);                
    }         
    }); 
}); 

Używam tego dla funkcji sortowania: http://www.webresourcesdepot.com/wp-content/uploads/file/jquerydragdrop/

Odpowiedz

7

Po wyszukaniu o wiele więcej znalazłem tę odpowiedź jako: jQuery live and sortable

Właśnie to dodałem do mojego kodu, aby działało:

$(document).ajaxSuccess(function() { 

    $("ul#listaruta").sortable({ 
     opacity: 0.6, 
     cursor: 'move', 
     update: function() { 
      var order = $(this).sortable("serialize") + '&action=updateRecordsListings'; 
      $.post("/plugins/drag/updateDB.php", order); 
     } 
    }); 
}); 
+0

Dziękuję! To mnie przeraziło! :RE – freeworlder

Powiązane problemy