Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wywołanie ajax w pętli - jQuery(document).ready
Forum PHP.pl > Forum > XML, AJAX > AJAX
kurt
Witam,
mam fragment kodu:

  1. <script language="javascript">
  2. $(document).ready(
  3. function()
  4. {
  5. $("div.stan_magazynowy").each(
  6. function () {
  7. id = this.id;
  8. dataString = "spr_stan="+id;
  9. $.ajax
  10. ({
  11. type: "GET",
  12. url: "../ajax_test.php",
  13. data: dataString,
  14. dataType: "text",
  15. success: function(result){ $("div#"+id).text(result);
  16. }
  17. });
  18. }
  19. );
  20.  
  21. }
  22. );
  23. </script>
  24. ...
  25.  
  26. While ...
  27. <div class="stan_magazynowy" id="'.$listing['products_id'].'"></div>
  28. ....
  29.  

Jak widać , każdy div z klasą "stan_magazynowy" ładowany w pętli ma unikalny parametr "id"

plik ajax_test.php:
  1. if(isset($_GET['spr_stan'])){
  2. echo 'ok';
  3. }



W założeniu po załadowaniu strony, skrypt ma wyszukać wszystkie DIV.stan_magazynowy i pobierać za pomocą AJAX tekst z pliku ajax_test.php. Pobieranie metodą GET, po parametrze"id" każdego DIV.stan_magazynowy
I tu jest problem, bo $.ajax podstawia tylko text pod ostatniego DIV.stan_magazynowy.

Podstawiałem zamiast success: function(result){ $("div#"+id).text(result); => function(result){ alert("div#"+id));
i okazuje się, że podawana jest wielokrotnie (tyle ile jest DIV.stan_magazynowy) ta sama wartość id z ostatniego DIV.stan_magazynowy.

Czy wiecie jak to zrobić aby za każdym razem wywoływać $.ajax z kolejnym id (dataString = "spr_stan="+id;) ?
trueblue
Stwórz jedno wywołanie Ajax gdzie prześlesz id wszystkich elementów, a w odpowiedzi uzyskasz tablicę (np. JSON) gdzie dla danego id będzie stan magazynowy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.