Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX]Pobieranie danych z ajax do pola select
Forum PHP.pl > Forum > Przedszkole
northwest
Witam serdecznie,
Mam taką stronkę: http://tinyurl.com/ogvfdxr
Są na niej 2 pola select: rozmiar i kolor produktu.

Elementy "select" pokolorowane są Selectyze.js (jquery).
Dodaję za pomocą jquery dane z pliku php do selecta. W momencie gdy nie są one "pokolorowane" - to pola dodają się do selecta.
Po "pokolorowaniu" przestają się dodawać (widać w firegubu że są w kodzie).

Problem jest w tym, że strona nie doładowuje nowych elementów po pierwszym wczytaniu strony.

Wie ktoś może jak to naprawić?

Bardzo proszę o pomoc,
Northwest
phpion
Pewnie po odebraniu danych z AJAXa musisz ponownie wywołać:
[JAVASCRIPT] pobierz, plaintext
  1. $('#twoj-magiczny-select').selectize();
[JAVASCRIPT] pobierz, plaintext
northwest
Niestety nie pomogło. Dodałem Twój kod i teraz wyświetla wyniki - ale nie w select sad.gif (zerknij na link proszę z wiadomości powyżej - tam widać co wyszło)
Turson
Ustawienie Selectyze daj jako callback ajaxa, żeby wywołało się jak juz są dane a nie przed.
Btw po co doładowujesz na starcie ajaxem skoro możesz od razu przez php to wypluć?
northwest
Po wyborze rozmiaru będę doładowywał dostępność kolorów itp. - dlatego od razu próbuję to zrobić w ajaxie smile.gif

Mógłbyś mi napisać tego callbacka? Przepraszam, ale aż tak zaawansowany nie jestem w jquery sad.gif
Turson
Pokaż tutaj jak pobierasz dane ajaxem i jak ustawiasz selectyze na #aj_rozmiar
northwest
Dane na starcie:
  1. var randomp = Math.round(Math.random() * 99999) + Math.round(Math.random() * 100000);
  2. $.get("<?php echo $gt_myurl ?>product_details.php", {poziom: 0, city: randomp, wartosc: '', produkter: <?php echo $post_id;?>}, function(data1) {
  3. $( "#dokoszyka" ).hide();
  4. $( "#dokoszyka_zaslepka" ).hide();
  5. var myArray = data1.split('|');
  6. $(".aj_rozmiarX").val(myArray[0]); // pierwszy rozmiar ID
  7. $(".aj_rozmiar").html(myArray[1]); // tablica rozmiarów dostępnych
  8.  
  9. $(".aj_rozmiar_wielkosc_X").val(myArray[6]); // wybrany rozmiar: small/medium/large/xlarge
  10.  
  11. if(myArray[5] == ""){
  12. myArray[5] = 0;
  13. }
  14.  
  15. $(".aj_dostepnychX").val(myArray[5]); // dostępność
  16. $(".aj_dostepnych").html(myArray[5]); // dostępność
  17. $(".maxilosc").val(myArray[5]); // dostępność
  18.  
  19. $(".aj_kolorX").val(myArray[4]); // pierwszy kolor
  20. $(".aj_kolor").html(myArray[3]); // tablica kolorów
  21.  
  22. $(".aj_nazwa").val(myArray[7]); // nazwa koloru
  23.  
  24.  
  25. if(myArray[5] == "" || myArray[5] == 0){
  26. $( "#dokoszyka" ).hide();
  27. //$( ".pppert1" ).hide();
  28. //$( ".pppert2" ).hide();
  29. $( "#dokoszyka_zaslepka" ).show();
  30. } else{
  31. $( "#dokoszyka" ).show();
  32. //$( ".pppert1" ).show();
  33. //$( ".pppert2" ).show();
  34. $( "#dokoszyka_zaslepka" ).hide();
  35. }
  36.  
  37.  
  38. $(".styl_listy_select3").Selectyze();
  39.  
  40.  
  41. /*$('.styl_listy_select3').Selectyze({
  42. theme : 'lista_select3',
  43. zIndex: '1000'
  44. });*/
  45.  
  46.  
  47. });


Dane doczytane po wybraniu odpowiedniego rozmiaru:
  1. $("#aj_rozmiar").on("change", function() {
  2.  
  3. var randomp = Math.round(Math.random() * 99999) + Math.round(Math.random() * 100000);
  4. $.get("<?php echo $gt_myurl ?>product_details.php", {poziom: 1, city: randomp, wartosc: $('#aj_rozmiar').val(), produkter: <?php echo $post_id;?>}, function(data1) {
  5. $( "#dokoszyka" ).hide();
  6. $( "#dokoszyka_zaslepka" ).hide();
  7. var myArray = data1.split('|');
  8. $(".aj_rozmiarX").val(myArray[0]); // pierwszy rozmiar ID
  9. $(".aj_rozmiar").html(myArray[1]); // tablica rozmiarów dostępnych
  10.  
  11. $(".aj_rozmiar_wielkosc_X").val(myArray[6]); // wybrany rozmiar: small/medium/large/xlarge
  12.  
  13. if(myArray[5] == ""){
  14. myArray[5] = 0;
  15. }
  16.  
  17. $(".aj_dostepnychX").val(myArray[5]); // dostępność
  18. $(".aj_dostepnych").html(myArray[5]); // dostępność
  19. $(".maxilosc").val(myArray[5]); // dostępność
  20.  
  21. $(".aj_kolorX").val(myArray[4]); // pierwszy kolor
  22. $(".aj_kolor").html(myArray[3]); // tablica kolorów
  23.  
  24. $(".aj_nazwa").val(myArray[7]); // nazwa koloru
  25.  
  26.  
  27. if(myArray[5] == "" || myArray[5] == 0){
  28. $( "#dokoszyka" ).hide();
  29. //$( ".pppert1" ).hide();
  30. //$( ".pppert2" ).hide();
  31. $( "#dokoszyka_zaslepka" ).show();
  32. } else{
  33. $( "#dokoszyka" ).show();
  34. //$( ".pppert1" ).show();
  35. //$( ".pppert2" ).show();
  36. $( "#dokoszyka_zaslepka" ).hide();
  37. }
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44. //////////////////
  45. });
  46. });
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.