Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] problem z polami select
Forum PHP.pl > Forum > Przedszkole
pablosz
Witam,

Mam taki problem mam dwa pola typu select np. sel1 sel2 ( zaznaczam ze jest to typ multiple )
W pierwszym pokazuja mi wszystkie marki samochodow w drugim typy samochodow chodzi o to ze jak wybiore jakas marke to odpowiednio pokazuje mi typy tych samochodow w drugim oknie. Wszystko fajnie dziala ale jest pewien problem z tym ze jak juz raz wybiore marke to pozniej po wybraniu drugi raz innej nie pokazuje mi nic. mysle ze jest to zwiazane z tym nie zapamietuje mi tablicy pierwotnej wszystkich typow. ma ktos jakies pomysly jak to zrobic jesli tak to prosze o pomoc

THX
revyag
Popatrz tu, chyba o coś podobnego chodzi.
Temat: dynamiczny select
pablosz
Witam, dzieki z apomysll, ale nie o to mi chodzilo bo tutaj masz statyczne dane a u mnie nigdy nie wiadomo ile bedzie danych danego elementu napisalem cos takiego moze ktos wpadnie na jakis pomysl




  1. function addoptions(sel,optid,optwar) {
  2. var ct = optid.length;
  3. var item;
  4. for(var i = 0; i < ct; i++) {
  5. item = document.createElement("option");
  6. item.value=optid[i];
  7. item.appendChild(document.createTextNode(optwar[i]));
  8. sel.appendChild(item);
  9. }
  10. }
  11.  
  12.  
  13.  
  14.  
  15. //elem - select, level - który select
  16. function show()
  17. {
  18.  
  19. /* tworzenie tablicy */
  20. tablica_elementy_ankiety=document.forms['form'].elements['el_ankiety'];
  21. var tab="";
  22. var s=0;
  23.  
  24.  
  25. /* Tworzenia elementow tablicy w selekcie sterym */
  26. var stare_elementy_id_referencji=new Array();
  27. var stare_elementy_wartosc_referencji=new Array();
  28. for(l=0;l<tablica_elementy_ankiety.options.length;l++)
  29. {
  30. stare_elementy_id_referencji[s]=tablica_elementy_ankiety.options[l].value;
  31. stare_elementy_wartosc_referencji[s]=tablica_elementy_ankiety.options[l].text;
  32. s++;
  33.  
  34. }
  35.  
  36. tablica_indeksow=document.forms['form'].elements['id_wzorca'];
  37.  
  38.  
  39. var k=0;
  40. var wybrane_elementy= new Array();
  41. var elementy_badania= new Array();
  42. var vall="";
  43. for (i=0;i<tablica_indeksow.options.length;i++)
  44. {
  45. vall=tablica_indeksow.options[i].value;
  46.  
  47. if (tablica_indeksow.options[i].selected)
  48. {
  49. wybrane_elementy[k]=vall;
  50.  
  51. k++;
  52. }
  53. }
  54.  
  55. alert(typeof(nowe_elementy_id_referencji));
  56.  
  57. if(typeof(nowe_elementy_id_referencji)=="undefined")
  58. {
  59.  
  60. var s=0;
  61. var nowe_elementy_id_referencji=new Array();
  62. var nowe_elementy_wartosc_referencji=new Array();
  63. for (i=0;i<wybrane_elementy.length;i++)
  64. {
  65.  
  66. for(l=0;l<stare_elementy_id_referencji.length;l++)
  67. {
  68.  
  69. tab=stare_elementy_id_referencji[l].split(",");
  70.  
  71.  
  72. if(tab[1]==wybrane_elementy[i])
  73. {
  74. nowe_elementy_id_referencji[s]=stare_elementy_id_referencji[l];
  75. nowe_elementy_wartosc_referencji[s]=stare_elementy_wartosc_referencji[l];
  76. s++;
  77. }
  78.  
  79. }
  80.  
  81.  
  82.  
  83. }
  84.  
  85. }
  86.  
  87. /* Tworzenie elemntow tablicy w selekcie nowym */
  88.  
  89.  
  90.  
  91.  
  92. var sel = tablica_elementy_ankiety;
  93.  
  94.  
  95.  
  96.  
  97. /* Usuwanie elementow */
  98.  
  99. while (sel.firstChild)
  100. {
  101. sel.removeChild(sel.firstChild);
  102. }
  103.  
  104.  
  105.  
  106.  
  107.  
  108. addoptions(tablica_elementy_ankiety,nowe_elementy_id_referencji,nowe_elementy_wartosc_refer
    encji);
  109.  
  110.  
  111. }




Dzieki pozdrawiam
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.