Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wielopoziomowy input select
juzekmj
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 21.06.2010

Ostrzeżenie: (0%)
-----


Cześć, chciałbym na stronie umieścić wielopoziomowy input select, tzn. jeśli wybiorę z rozwijanej listy pierwszej opcje A, to w liście drugiej wyświetlą się inne opcje, niż gdybym wybrał z listy pierwszej opcje B.
Znalazłem jeden przykład, ale był strasznie skomplikowany, pobierał dane z bazy, miał kilka zupełnie nieprzydatnych funkcji - nie oto mi chodzi. Szukam najprostszego rozwiązania.

Do tej pory udało mi się stworzyć coś takiego i na tym niestety moja wiedza z JSa się kończy.

Kod
<script type='text/javascript'>
function toggle(div) {
var ile = document.getElementById('select').options.length;
for(var i=1; i<=ile; i++) {
var which = 'w'+i;
if(which == div) { document.getElementById(which).style.display = 'block'; }
else if(which != div) { document.getElementById(which).style.display = 'none'; }
}
}
</script>

<form action=index.php method=post name=form>
          <div id=w1>
                    <select name=select_w1 id=select onChange=toggle(this.value) onClick='this.form.reset()'>
                    <option value=w1 selected=selected>Wybierz</option>
                    <option value=w2>1</option>
                    <option value=w3>2</option>
                    <option value=w4>3</option>
                    </select>
          </div>
          <div id=w2 style=display:none>
                         <select name=select_w2 id=select onChange=toggle(this.value) onClick='this.form.reset()'>
                         <option value=w1>Wybierz</option>
                         <option value=w2 selected=selected>1</option>
                         <option value=w3>2</option>
                         <option value=w4>3</option>
                         </select>
                    <select id=select name=w4>
                    <option>Wybierz</option>
                    <option>Tu wpisz pierwszą możliwość 2</option>
                    <option>Tu wpisz drugą możliwość 2</option>
                    </select>
          </div>
          <div id=w3 style=display:none>
                         <select name=select_w3 id=select onChange=toggle(this.value) onClick='this.form.reset()'>
                         <option value=w1>Wybierz</option>
                         <option value=w2>1</option>
                         <option value=w3 selected=selected>2</option>
                         <option value=w4>3</option>
                         </select>
                    <select id=select name=w4>
                    <option>Wybierz</option>
                    <option>Tu wpisz pierwszą możliwość 3</option>
                    <option>Tu wpisz drugą możliwość 3</option>
                    </select>
          </div>
          <div id=w4 style=display:none>
                         <select name=select_w4 id=select onChange=toggle(this.value) onClick='this.form.reset()'>
                         <option value=w1>Wybierz</option>
                         <option value=w2>1</option>
                         <option value=w3>2</option>
                         <option value=w4 selected=selected>3</option>
                         </select>
                    <select id=select name=w4>
                    <option>Wybierz</option>
                    <option>Tu wpisz pierwszą możliwość 4</option>
                    <option>Tu wpisz drugą możliwość 4</option>
                    </select>
          </div>
<a id=apparatus_search_button href=java script:document.form.submit()>OK</a></form>


Obecnie w formularzu wysyłane są wszystkie selecty, ale wydaje mi się że gdyby skrypt oprócz display diva zmianiał też wartość select na disabled to funkcja mogłaby zadziałać.

Mam nadzieję że wpadniecie na coś mądrzejszego niż ja (IMG:style_emoticons/default/wink.gif)

Dzięki i pozdrawiam.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 21:08