Autor Zpráva
pmasarik
Profil
Popredu píšem, že neviem javascript.

Na tejto stránke je urobené to čo potrebujem, ale zdá sa mi že je to dosť prasáckym spôsobom a nerozumiem tomu.

http://www.kompava.sk/index.asp?uid=162&more=1

Dole je výber balenia a príchute, mám presne taký istý prípad.

V prvom selecte mám nejaký obsah a v druhom selekte sa obsah mení podla toho čo je vybrané v selecte číslo 1.

V ukážke je to vidieť tak, že pri výbere "kartón / 30 ks x 17 g/6 litrov | 280,- Sk" sa zmení obsah druhého selektu len na "zmes príchutí"

Presne toto potrebujem urobiť, všetko sa mi generuje s databaze a pomocou PHP, neviem ako inak ako cez javaskript by sa to dalo urobit, tak ak mi vie niekto poradiť budem mu dosmrti povdacný...

Dakujem za každú pomoc.
Marty
Profil
Sakra tohle jsem někde nedávno viděl řešené přes ajax, možná v některém z českých článků, ale vůbec to teď nemůžu najít.
pmasarik
Profil
No medzičasom som našiel jedno elegantnejšie riešenie
http://www.mattkruse.com/javascript/dynamicoptionlist/

Takže pozmenim otazku napadá niekoho, ako by sa to dalo riešiť inak, prípadne bez javascriptu?
habendorf
Profil
prípadne bez javascriptu?

Bez JS ne. Tedy ne tak, aby to mezitím nemuselo komunikovat se serverem.
pmasarik
Profil
aby to mezitím nemuselo komunikovat se serverem

To mi bolo jasné, ale človek nikdy nevie, možno to niekto už vymyslel :-)
pmasarik
Profil
No tak a mam dalsi problem.
Script sice robi to čo potrebujem, ale ani za tri hodiny skusania som nepochopil ako ho mam použiť.

Čo som urobil podla toho ako som to pochopil:

Pripojil som samotny script do HTML
<script type="text/javascript" src="DynamicOptionList.js"></script>

dalej som vložil do HTML toto:

<script type="text/javascript">
var dol = new DynamicOptionList();
dol.addDependentFields("Field1","Child1");

dol.forValue("west").addOptions("California","Washington","Oregon");
dol.forValue("midwest").addOptions("Illinois","Iowa","Missouri");
dol.forValue("east").addOptions("New York","Maine","Pennsylvania");

dol.forValue("midwest").setDefaultOptions("Iowa");
dol.forValue("east").setDefaultOptions("New York");
dol.selectFirstOption = false;
</script>

Potialto to ešte ako tak chápem, ale čo dalej, ako mam urobiť tie selecty?

Odhadujem že prvý select bude statický:

<select name="Field1">
<option value="west">West</option>
<option value="midwest">Midwest</option>
<option value="east">East</option>
</select>

A podla návodu som ten druhý urobil takto:

<select name="Child1">
<script type="text/javascript">dol.printOptions("Child1")</script>
</select>

Bohužial to nefunguje asi som to nepochopil správne, prosím hepl.
pmasarik
Profil
Tak už som na to prišiel, chýbalo mi tam toto:

<body onLoad="initDynamicOptionLists();">
Toto téma je uzamčeno. Odpověď nelze zaslat.

0