Hallo zusammen,
ich möchte auf EINE mysql-Tabelle zugeifen und deren Werte in zwei abhängigen Listen auswählen - erste Liste: Hersteller; zweite Liste: die Produkte des ausgewählten Herstellers
Tabelle mm
id, hersteller, type
1,Audi,A3
2,Audi,A4
3,VW,Passat
Ich habe mir aus dem Netz folgendes Script geladen und entsprechend angepasst, bekomme aber nur den Inhalt der Hersteller (erste Liste)zu sehen, die zweite Liste wird nicht gefüllt.
Javascript Fehlermeldung: Das Objekt unterstützet diese Eigenschaft oder Methode nicht
Mein Script sieht so aus:
<script type="text/javascript">
<!--
<?php
// abhängiges Kombifeld erzeugen
$rs=mysql_query("select id,type,hersteller from mm");
$rows=mysql_num_rows($rs);
echo "\tvar liste2=new Array($rows)\n"
. "\tfor(var i=0;i<liste2.length;i++)\n"
. "\t\tliste2[i]=new Array(2);\n";
$n=0;
while($zeile=mysql_fetch_assoc($rs)) {
echo "\tliste2[$n][0]=".$zeile['id'].";\n"
. "\tliste2[$n][1]='".$zeile['type']."';\n"
. "\tliste2[$n][2]='".$zeile['hersteller']."';\n";
$n++;
}
?>
function update_drp2() {
var x=document.frm_auswahl.drp2.length;
for(var n=0; n<x; n++)
document.frm_auswahl.drp2.options[0]=0;
for(n=0; n<liste2.length; n++) {
if(liste2[n][2]==document.frm_auswahl.drp1.value) {
var NeuerEintrag=new Option(liste2[n][1], liste2[n][0]);
document.frm_auswahl.drp2.options[document.frm_auswahl.drp2.length]=NeuerEintrag;
}
}
}
-->
</script>
<form name="frm_auswahl">
<select name="drp1" size="1" onChange="update_drp2()">
<?php
$rs=mysql_query("select id,type, hersteller from mm group by hersteller");
while($zeile=mysql_fetch_assoc($rs)) {
echo "<option value="".$zeile['id']
. "">".$zeile['hersteller']."</option>\n";
}
?>
</select>
<select name="drp2" size="1">
<option>Start</option>
</select>
</form>
<script type="text/javascript">
<!--
update_drp2()
-->
</script>
Die Quelltext-Ausgabe im IE sieht so aus:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> test </TITLE>
<link rel="stylesheet" type="text/css" href="test.css">
<script type="text/javascript">
<!--
</script>
</HEAD>
<BODY>
<!-- START - Content - START -->
<table cellpadding="0" cellspacing="0" width="100%">
<tr><td >
<script type="text/javascript">
<!--
var liste2=new Array(3)
for(var i=0;i<liste2.length;i++)
liste2[i]=new Array(2);
liste2[0][0]=1;
liste2[0][1]='A3';
liste2[0][2]='Audi';
liste2[1][0]=2;
liste2[1][1]='A4';
liste2[1][2]='Audi';
liste2[2][0]=3;
liste2[2][1]='Passat';
liste2[2][2]='VW';
function update_drp2() {
var x=document.frm_auswahl.drp2.length;
for(var n=0; n<x; n++)
document.frm_auswahl.drp2.options[0]=0;
for(n=0; n<liste2.length; n++) {
if(liste2[n][2]==document.frm_auswahl.drp1.value) {
var NeuerEintrag=new Option(liste2[n][1], liste2[n][0]);
document.frm_auswahl.drp2.options[document.frm_auswahl.drp2.length]=NeuerEintrag;
}
}
}
-->
</script>
<form name="frm_auswahl">
<select name="drp1" size="1" onChange="update_drp2()">
<option value="1">Audi</option>
<option value="3">VW</option>
</select>
<select name="drp2" size="1">
<option>Start</option>
</select>
</form>
<script type="text/javascript">
<!--
update_drp2()
-->
</script>
</td>
</tr>
</table>
</BODY>
</HTML>
Mittlerweile habe ich mich durch die Archive gewühlt und das Script mit denen auf anderen Seiten verglichen.
Könnt ihr mir helfen?