Hallo, Code-Schnippsel beruht auf einem hier veröffentlichten Tutorial, nämlich "Abhängige Listen" http://www.php-resource.de/tutorials/read/41/1/
D.h. ich will Select-Boxen abhängig voneinander aus einer Datenbank füllen lassen.
Das Problem ist, dass php innerhalb des ersten javascriptes (samt Datenbank-Connection) abgearbeitet wird, die nachfolgende Funktion update_group2() nach Aufruf anscheinend nicht.
Hier der Anfangscode (evtl. begehe ich auch nur einen dummen Anfängerfehler):
Der Code incl. Formular innerhalb der BODY-Tags ist folgender:
Dieser letzte Script-Aufruf der Funktion update_group2() scheint keinerlei Wirkung zu haben. Hoffentlich kann mir einer helfen, was ich da falsch mache, bin nicht so der javascript-Experte ;-) Danke!!
D.h. ich will Select-Boxen abhängig voneinander aus einer Datenbank füllen lassen.
Das Problem ist, dass php innerhalb des ersten javascriptes (samt Datenbank-Connection) abgearbeitet wird, die nachfolgende Funktion update_group2() nach Aufruf anscheinend nicht.
Hier der Anfangscode (evtl. begehe ich auch nur einen dummen Anfängerfehler):
PHP Code:
<html>
<head>
<script type="text/javascript">
<!--
<?php
$connection = mssql_connect('Server_Name', 'User','pass');
mssql_select_db('Proc');
// abhängiges Kombifeld erzeugen
$rs=mssql_query("SELECT GROUP1, GROUP2 FROM Index_Procedures;");
$rows=mssql_num_rows($rs);
echo "\tvar liste2=new Array($rows);\n"
. "\tfor(var i=0;i<liste2.length;i++)\n"
. "\tliste2[i]=new Array(2);\n";
$n=0;
while($zeile=mssql_fetch_assoc($rs)) {
echo "\tliste2[$n][0]=".$zeile['GROUP1'].";\n"
. "\tliste2[$n][1]=".$zeile['GROUP2'].";\n";
$n++;
}
?>
function update_group2() {
var x=document.frm_auswahl.group2.length;
for(var n=0; n<x; n++)
document.frm_auswahl.group2.options[n]=null;
for(n=0; n<liste2.length; n++) {
if(liste2[n][0]==document.frm_auswahl.group1.value) {
var NeuerEintrag=new Option(liste2[n][1]);
document.frm_auswahl.group2.options[document.frm_auswahl.group2.length]=NeuerEintrag;
}
}
}
//-->
</script>
</head>
PHP Code:
<?php echo'<form name="frm_auswahl" action="globe.php" method="POST" target="mainframe">'; ?>
<select name="group1" size="1" class="combo" onchange="update_group2()">
<option value="">---Please select---</option>
<?php
$result = mssql_query("SELECT ID,SEC,GROUP1 From Index_Procedures WHERE GROUP2=null and GROUP3=null and GROUP4=null");
while($zeile=mssql_fetch_assoc($result)){
echo "<option value=\"".$zeile['GROUP1']
. "\">".$zeile['GROUP1']."</option>\n";
}
?>
</select>
<select name="group2" size="1" class="combo"></select>
</form>
<script type="text/javascript">
<!--
update_group2();
//-->
</script>