a v tej funckii si mam vsetky podkategorie vytiahnut do pola a tak ich vypisat php-ckom do js? a ces switch(id_kategoria) v js vytvorit select?
//autoeditácia príspevku (23 Júl 2010, 13:47)
takze spravil som to nejak takto:
Kód: Vybrať všetko
funkcia:
<script language="javascript">
function setOptions(o){
var podkategoria_produktu = document.my_form.podkategoria_produktu;
podkategoria_produktu.options.length = 0;
<?php
$sql_kategorie = mysql_query("SELECT * FROM kategorie ORDER BY id_kategoria");
if($sql_kategorie!==false) {
while ($riadok_kat = mysql_fetch_assoc($sql_kategorie)){
echo "\tif (o == \"".$riadok_kat['id_kategoria']."\"){\n";
echo "\t\tpodkategoria_produktu.options[podkategoria_produktu.options.length] = new Option(\" \");\n";
$sql_podkategorie = mysql_query("SELECT * FROM podkategorie WHERE kategoria=".$riadok_kat['id_kategoria']." ORDER BY nazov_podkategoria");
if($sql_podkategorie!==false) {
while ($riadok_pod = mysql_fetch_assoc($sql_podkategorie)){
echo "\t\tpodkategoria_produktu.options[podkategoria_produktu.options.length] = new Option(\"".$riadok_pod['nazov_podkategoria']."\",\"value ".$riadok_pod['id_podkategoria']."\");\n";
}
}
echo "\t}\n";
}
}
?>
}
</script>
formular:
Kód: Vybrať všetko
<?php
echo 'patrí ku kategórii: ';
echo '<select name="kategoria_produktu" onchange="setOptions(document.my_form.kategoria_produktu.options[document.my_form.kategoria_produktu.selectedIndex].value);" size="1">';
echo '<option value=""></option>';
$sql_kategorie = mysql_query("SELECT * FROM kategorie ORDER BY nazov_kategoria");
if($sql_kategorie!==false) {
while ($riadok = mysql_fetch_assoc($sql_kategorie)){
echo '<option value="'.$riadok['id_kategoria'].'">'.$riadok['nazov_kategoria'].'</option>';
}
}
echo '</select><br>';
echo 'patrí k podkategórii: ';
echo '<select name="podkategoria_produktu" size="1">';
echo '<option value=""></option>';
echo '</select>';
?>
//autoeditácia príspevku (23 Júl 2010, 14:02)
hmmm ten vytvoreny select mi tie value neposle
mohol by som mat chybu v php ale ani takto "na tvrdo nadefinovane" mi neposle value vybrany s druheho selectu
original funkcia je takato:
Kód: Vybrať všetko
function setOptions(o){
var podkategoria_produktu = document.my_form.podkategoria_produktu;
podkategoria_produktu.options.length = 0;
if (o == "1"){
podkategoria_produktu.options[podkategoria_produktu.options.length] = new Option(" ");
podkategoria_produktu.options[podkategoria_produktu.options.length] = new Option("1 podkategoria(1)","value 1");
podkategoria_produktu.options[podkategoria_produktu.options.length] = new Option("2 podkategoria(1)","value 2");
}
if (o == "2"){
podkategoria_produktu.options[podkategoria_produktu.options.length] = new Option(" ");
podkategoria_produktu.options[podkategoria_produktu.options.length] = new Option("1 podkategoria(2)","value 1");
podkategoria_produktu.options[podkategoria_produktu.options.length] = new Option("2 podkategoria(2)","value 2");
}
if (o == "3"){
podkategoria_produktu.options[podkategoria_produktu.options.length] = new Option(" ");
podkategoria_produktu.options[podkategoria_produktu.options.length] = new Option("1 podkategoria(3)","value 1");
podkategoria_produktu.options[podkategoria_produktu.options.length] = new Option("2 podkategoria(3)","value 2");
podkategoria_produktu.options[podkategoria_produktu.options.length] = new Option("3 podkategoria(3)","value 3");
}
}