[HTML/JS] Select i option

0

Cześć,
Mam mały problem <ort>chciał bym</ort> zrobić coś takiego ze mam jedno pole select z kilkoma option'ami i 2 pole select w zależność od tego co zaznaczę w 1 wartość 2 będzie inna np. jak by katalog stron

Select[1]: Komputery

Select[2]:
[Oprogramowanie]
[Hardware]
[OC]
[Tuning]

a jak wybiorę np. samochody:

Select[1]: Samochody

Select[2]:
[Fiat]
[Audi]
[BMW]
[Maluch 126p xF]

i jak to zrobić proszę o pomoc !

0

Zalezy ile tego jest. Jak duzo to lepiej AJAX i sciagac to z bazy, jak malo i nie chce Ci sie kombinowac to tworz kilka tablic w js i podstawiaj odpowiednie.

0

Drugi wariant mógłby wyglądać nastepujaco :

<html> 
  <head>
    <script>
    tabSelekt1 = new Array("Komputery","Samochody"); // selekt 1
    tabSelekt2 = new Array();
    tabSelekt2[0] = new Array("Oprogramowanie","Hardware","OC","Tuning"); 
    //selekt2 gdy selekt1 = Koputery
    tabSelekt2[1] = new Array("Fiat","Audi","BMW","Maluch 126p xF","Jelcz"); 
    //selekt2 gdy selekt1 =Samochody
    
    function zmienSelekt2(obj) 
    //wywoluje przepisanie selekt2, 
    //w zaleznosci od wybranej opcji w selekt1 wybierana jest odpowiednia   tablica dla selekt2
   
    {
      for (i=0; i<tabSelekt1.length; i++)
      {
        if (obj.value == tabSelekt1[i])
	{
	  ustawSelekt2(document.getElementById('selekt2'),tabSelekt2[i]);
	  break;
	}
      }
    }   
    
    function ustawSelekt2(obj,selekt2) //przepisuje selekt2 dla wybranej tablicy 
    {
      var str='<select name=selekt2>';
      for (i=0;i<selekt2.length;i++)
      {
        str = str+'<option>'+selekt2[i]+'</option>';
      }
      str = str + '</select>';
      obj.innerHTML = str;
    }
    
    </script>
  </head>
 
  
  <body>
    <select id="selekt1" name="selekt1" onchange="zmienSelekt2(this)"> 
      <option selected>Komputery</option>
      <option>Samochody</option>
    </select>
    <div id="selekt2">
      <select name="selekt2">
        <option selected>Oprogramowanie</option>
        <option>Hardware</option>
        <option>OC</option>
        <option>Tuning</option>
      </select>
    </div>
  </body>
  
</html>
0

Dużo tego nie będę dawał z 7 kategorii i w tym z 3 pod kategorię. Coś ten skrypt nie działa :(

0

Spróbuj zastąpić linijkę

if (obj.value == tabSelekt1[i])

na :

if (obj.options[obj.selectedIndex].text == tabSelekt1[i])
0

Dzięki zamieniłem i śmiga :)

//Temat do zamknięcia

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.