Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 3 połączone listy rozwijane, poszukiwany skrypt
krukilis
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 21.05.2003

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


Poszukuje skryptu 3 połączonych list rozwijanych. Chodzi mi o np. o listy jakie znajdują się na stronie nvidii przy pobieraniu sterowników. Tzn. Wybieram coś z pierwszej listy i wtedy pojawiają się opcje na drugiej i kiedy wybieram z drugiej pojawiaja się opcje wyboru na trzeciej. Przy czym chciałbym, aby wybranie z trzeciej listy powodawało przejscie do określonego linku (niekoniecznie). Pozdrawiam.
Go to the top of the page
+Quote Post
strife
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Witam,

Skoro na nvidi jest taki skrypt to czemu po prostu trochę nie podejrzeć kodu źródłowego?

Pozdrawiam!
Go to the top of the page
+Quote Post
krukilis
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 21.05.2003

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


Probowalem juz go wyciagnac, ale nie chce dzialac, poza tym jak dla mnie laika, wydaje sie troszke zbyt skomplikowany...
Go to the top of the page
+Quote Post
berdyk
post
Post #4





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 30.05.2003

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


na początek niezbędny JS
Kod
function writeDynaList( selectParams, source, key, orig_key, orig_val ) {
    var html = '\n    <select ' + selectParams + '>';
    var i = 0;
    for (x in source) {
 if (source[x][0] == key) {
     var selected = '';
     if ((orig_key == key && orig_val == source[x][1]) || (i == 0 && orig_key != key)) {
   selected = 'selected="selected"';
     }
     html += '\n  <option value="'+source[x][1]+'" '+selected+'>'+source[x][2]+'</option>';
 }
 i++;
    }
    html += '\n    </select>';

    document.writeln( html );
}

oraz zbiór wartości (tabela w JS)
Kod
var ds = new Array;
//ds[]= new Array ( 'grupa-id z poprzedniego selecta','id','wartosc' );

/np dla drugiego selecta

ds1[0] = new Array ( '1','293','war0' );
ds1[1] = new Array ( '1','292','war1' );
ds1[2] = new Array ( '1','291','war2' );
ds1[3] = new Array ( '1','284','war3' );
ds1[4] = new Array ( '1','283','war4' );
ds1[5] = new Array ( '1','282','war5' );
ds1[6] = new Array ( '2','258','war6' );
ds1[7] = new Array ( '2','175','war7' );
ds1[8] = new Array ( '2','164','war8' );
ds1[9] = new Array ( '2','6','war9' );
ds1[10] = new Array ( '3','341','war10' );
ds1[11] = new Array ( '3','340','war11' );
ds1[12] = new Array ( '3','333','war12' );
ds1[13] = new Array ( '3','332','war13' );

//oraz dla 3-ego selecta analogicznie tabela z danymi

teraz jak zagniezdzic to w html
  1. <select name="dds0" onchange="changeDynaList( 'dds1', ds1, document.form.ds0.options[document.form.ds0.selectedIndex].value, 0, 0);">
  2. <option value="1">1</option>
  3. <option value="2">2</option>
  4. <option value="3">3</option>
  5.  
  6.  
  7. <select name="dds1" onchange="changeDynaList( 'dds2', ds2, document.form.dds1.options[document.form.dds1.selectedIndex].value, 0, 0);"></select>
  8.  
  9.  
  10. <select name="dds2"></select>
  11.  
  12. <!--na koniec przycisk wysyłający-->
  13. <input type="submit" name="send" value="Wyślij">


Nie sprawdzałem czy dział ale myślę ze tak.

pozdro

Ten post edytował berdyk 31.08.2005, 07:38:15
Go to the top of the page
+Quote Post

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: 1.10.2025 - 15:23