Witam
Mam dwa selecty. Pierwszy przyjmuje dwie wartosci 1 - "Pokój i 2 - "Apartament". W zależności od wyboru chciałem aby zmieniały się etykiety drugiego selecta.
Stworzyłem taki o to kod:
<?php
function zamiana(wybor) {
var main
= new Array ("Max. cena za tydzień","do 500u20AC","do 800u20AC","do 1000u20AC","do 2000u20AC","do 5000u20AC","więcej"); var max_select
= new Array ("Max. cena za dzień","do 100u20AC","do 150u20AC","do 200u20AC","do 300u20AC","do 500u20AC","więcej");
var main2
= new Array ("Długość pobytu","7 dni","14 dni","21 dni","28 dni","więcej"); var long_select
= new Array ("Długość pobytu","3 dni","4 dni","5 dni","6 dni","więcej");
if(wybor == "1") {
var dlugosc = max_select.length-1;
document.search_form.elements.max_cena.options.length = max_select.length;
for (var i=0; i<= dlugosc; i++) {
document.search_form.max_cena.options[i] = new Option(max_select[i]);
document.search_form.max_cena.options[i].value = i;
}
var dlugosc2 = long_select.length-1;
document.search_form.elements.ilosc_noclegow.options.length = long_select.length;
for (var i=0; i<= dlugosc2; i++) {
document.search_form.ilosc_noclegow.options[i] = new Option(long_select[i]);
document.search_form.ilosc_noclegow.options[i].value = i;
}
}
if(wybor == "2") {
var dlugosc = main.length-1;
document.search_form.elements.max_cena.options.length = main.length;
for (var i=0; i<= dlugosc; i++) {
document.search_form.max_cena.options[i] = new Option(main[i]);
document.search_form.max_cena.options[i].value = i;
}
var dlugosc2 = main2.length-1;
document.search_form.elements.ilosc_noclegow.options.length = main2.length;
for (var i=0; i<= dlugosc2; i++) {
document.search_form.ilosc_noclegow.options[i] = new Option(main2[i]);
document.search_form.ilosc_noclegow.options[i].value = i;
}
}
}
?>
I zostało to podpięte do onChange w pierwszym Select. Wszystko działa ale....
1. Przy walidacji mówi że nie istnieje dla <form> atrybut name (tutaj search_form).
2. Walidator mowi ze onChange w Select tez nie moze wystapic.
3. Najwazniejsze. Ze wzgledu na budowe serwisu wolałbym aby te zmiany drugiego selecta nie nastepowaly w wyniku onChange tylko ze wzgledu na to co jest aktualnie wybrane w pierwszym select (podczas gdy wybiore druga opcje w 1 select przejde do innej podstrony a potem z linka wroce znowu na glowna to w drugim select mam te wartosci poczatkowe - bo w koncu nie nastapila zmiana jako onChange). Mam nadzieje ze jest jasne co chce uzyskac.
Czy ktoś może mi pomoc? Z gory wielkie dzięki!