Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS]Tworzenie pola select + option z bazy danych - jak?
Forum PHP.pl > Forum > Po stronie przeglądarki
rozny
Witam, po raz kolejny. Przypadek jest to jednak beznadziejny wink.gif

Mam buttona, którym tworzę pole SELECT. Pole się tworzy - tu nie ma problemu. Problem zaczyna się gdy chcę by select tworzył się od razu wypełniony optionami. Napisałem skrypt, który defacto powinien w pętli wrzucić mi te optiony z tablicy, jednak tak się nie dzieje. Oto mój kod:

  1. function DodajSelect()
  2. {
  3. var select_field = document.createElement('select');
  4.  
  5. var liczba = 0;
  6. var ilosc = document.forms['formularz'].elements.length;
  7. for (var i = 0; i < ilosc; i++ )
  8. {
  9. if (document.forms['formularz'].elements[i].type == 'select')
  10. {
  11. liczba += 1;
  12. }
  13. }
  14.  
  15. select_field.setAttribute('name', 'text-'+(liczba+1));
  16.  
  17. select_field.style.display = "block";
  18. select_field.style.margin= "2px 0";
  19.  
  20. document.forms['formularz'].appendChild(select_field);
  21.  
  22. form.document.getElementsByName('formularz');
  23.  
  24. var opis = new Array('jajco','dwa','piętna');
  25. var wartosc = new Array('co','to','zoo');
  26. var ile = opis.length;
  27.  
  28. for (x=0; x<=ile; x++) {
  29. var NowyOption = new Option(opis, wartosc);
  30. document.getElementsByName('text-'+(liczba+1)).options[x] = NowyOption;
  31. document.forms['formularz'].appendChild(NowyOption);
  32. }


Bardzo proszę o pomoc, bo męczę się z tym już trzeci dzień i nie idzie sad.gif
skowron-line
W konsoli pokazują się jakieś błędy questionmark.gif
edit
http://www.javascriptkit.com/javatutors/selectcontent.shtml
rozny
Wprowadziłem kilka poprawek, wcześniej konsola nie pokazywała żadnego błędu, teraz wywala:

Cytat
Czas: 2012-05-28 14:24:07
Błąd: can't convert undefined to object
Plik źródłowy: http://adresstrony/
Wiersz: 121



czyli linijka:

  1. document.getElementsByName('text-'+(liczba+1)).options[x] = NowyOption;



A to nieco poprawiony kod:

  1. function DodajSelect()
  2. {
  3. var select_field = document.createElement('select');
  4.  
  5. var liczba = 0;
  6.  
  7. var ilosc = document.forms['formularz'].elements.length;
  8. for (var i = 0; i < ilosc; i++ )
  9. {
  10. if (document.forms['formularz'].elements[i].type == 'select')
  11. {
  12. liczba += 1;
  13. }
  14. }
  15.  
  16. select_field.setAttribute('name', 'text-'+(liczba+1));
  17.  
  18. select_field.style.display = "block";
  19. select_field.style.margin= "2px 0";
  20.  
  21. document.forms['formularz'].appendChild(select_field);
  22.  
  23. form = document.getElementsByName('formularz');
  24.  
  25. var opisy = new Array('jajco1','dwa1','piętna1');
  26. var wartosci = new Array('jajco2','dwa2','piętna2');
  27. var ile = opisy.length;
  28.  
  29. for (x=0; x<=ile; x++) {
  30. var NowyOption = new Option(opisy, wartosci);
  31. document.getElementsByName('text-'+(liczba+1)).options[x] = NowyOption;
  32. liczba++;
  33. }
  34. document.forms['formularz'].appendChild(NowyOption);
  35.  
  36.  
  37.  
  38. }
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.