Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: JQuery źle wyświetlające się pola.
Forum PHP.pl > Forum > Po stronie przeglądarki
istrd
Witam,
Napisałem skrypt powielający pola w formularzu. Do tego za pomocą post pobieram sobie pole wyboru <select> ale to nie wyświetla się w miejscu których chciałbym. Zamiast na początku to utworzą się wszystkie elementy powielone a na końcu dopiero moja pobrana lista wyboru, kilkakrotnie zależnie od tego ile razy wykonała się pętla. Tak jakby funkcja $.ajax wykonywała się dopiero po wyjściu z pętli. Może ktoś pomóc? poniżej podaje kod.

  1. $(function() {
  2.  
  3. $('select[name=instytucja]').change(function(){
  4. var value1 = $(this).val();
  5. var value = value1[2];
  6. $("#result").empty();
  7.  
  8. while(value > 0){
  9.  
  10. $.ajax({
  11.  
  12. url: 'http://localhost/wordpress/?page_id=12',
  13. data: {funkcja: 'test'},
  14. type: 'post',
  15. success: function(output) {
  16. $("#result").append(output);
  17. }
  18.  
  19. });
  20.  
  21. $("#result").append('<input type="text" name="name[]" class="name" placeholder="Twoje imie">');
  22. $("#result").append('<input type="text" name="sname[]" class="sname" placeholder="Twoje nazwisko" />');
  23. $("#result").append('<br>');
  24.  
  25. $("#result").append('<input type="email" name="email[]" class="email" placeholder="Adres e-mail" />');
  26. $("#result").append('<input type="tel" name="phone[]" class="phone" placeholder="Telefon" /><div></div>');
  27. $("#result").append('<select id="wyzywienie" name="wyzywienie[]"><option value="0">Preferowane wyżywnie</option> <option value="1">Mięsne</option> <option value="2">Wegetarniańskie</option> </select>');
  28. $("#result").append('<br>');
  29. value--;
  30.  
  31.  
  32. }
  33.  
  34.  
  35. });
  36.  
  37.  
  38.  
  39. });
mortus
Cytat(istrd @ 3.06.2013, 17:37:21 ) *
Tak jakby funkcja $.ajax wykonywała się dopiero po wyjściu z pętli.

Bo prawie tak jest, wszystkie te "appendy" i metoda .ajax() uruchamiane są niemal jednocześnie i "nie czekają" na zakończenie żądania AJAX.
Wrzuć je do callback-u success metody .ajax().
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-2025 Invision Power Services, Inc.