JS - grupa selectów zależna od drugiego

0

Witam,

Szczerze nie jestem zwolennikiem postowania na forach, ale nie mam już pomysłów jak szukać wskazówek.
Potrzebuję wykonać dwa selekty, gdzie lista opcji w jednym lub jak zwał grupa ma być zależna od drugiego.

Pierwszy to rodzaj menu, drugi to pełna lista podstron podzielona na grupy - > Menu1 / -> Menu2.

Wiedza z zakresu JS bardziej na zasadzie logiki lub z tego co przeczytam. Próbowałem już z onchange i zmianą wartości drugiej grupy na disabled. Ale w rozwiązaniu które obecnie znalazłem coś nie idzie po myśli, przy dodawaniu nowej strony działą ok, ale przy edycji nie bardzo, ponieważ albo przechodzi w nie odpowiednia grupa w stan disabled albo w ogóle wszystko się blokuje.

Przy ładowaniu strony do edycji odpowiednia wartość w 1 menu jest selected wiedz powinno to jakoś wykryć.

Może trochę obecnego kodu:

1 select

echo "<select id=\"ptype\" name=\"menu_type\" onchange=\"toggleSubmit(this)\">";
	foreach ($menu_types as $menu_type => $menu_name) {
		if ($menu_type == $r['menu_type']) {
			echo "<option value=\"$menu_type\" selected=\"selected\">$menu_name</option>";
		} else {
			echo "<option value=\"$menu_type\">$menu_name</option>";
		}
	}
echo "</select>";

2 select

echo "<select name=\"id_sub\">";
echo "<option value=\"0\">None</option>";
	foreach ($menu_types as $menu_type => $menu_name) {
		echo "<optgroup label=\"$menu_name\" id=\"d$menu_type\">";
			menu_list($menu_type, 0, 1, $r['id_sub']);
		echo "</optgroup>";
	}
echo "</select>";
function toggleSubmit(obj){

count=1
while(document.getElementById("d"+count)){
document.getElementById("d"+count).disabled = true;
count++
}
document.getElementById("d"+obj.selectedIndex).disabled = false;

}

Panowie nakierujcie, coś najlepiej mega błahego, żebym mi głupio było ;-)

0

z łaski swojej wrzuć wygenerowany już przez php kod. my nie znamy zawartości Twoich zmiennych, a wymyślanie coś na podstawie kodu jest żmudne, a nadrabiać lenistwa autora pytania chyba nikt nie chce ;)

kod javascript wrzucaj w <code class="javascript"> tak jak php wrzuciłeś w <code class="php">

a NAJ NAJ lepiej byłoby gdybyś taki przykład wrzucił na http://jsbin.com/ - dajesz komuś gotowy kod, na którym można błąd naprawiać i naprawiony kod można łatwo odesłać w postaci linku ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1