Auswahlboxen

mgoertz

Mitglied
Hallo zusammen,

ich hab ein Problem, das vermutlich in den Bereich Javascript fällt.

Ich hab zwei Tabellen (artikel und preise)
Die Artikeltabelle hat die Felder (id, bezeichnung, .....)
Die Preistabelle hat die Felder (id, artikel_id, ......)

Nun habe ich mit PHP Die Artikelbezeichnung aus der Datenbank
ausgelesen und damit eine Auswahlbox gefüllt. Hier mein Code:

Code:

Code:
$artikel = mysql_query ("SELECT bezeichnung1 FROM $prefix"."_artikel ORDER BY bezeichnung1 ASC")or die(mysql_error()); 
         echo "<select name='artikel1' class='input' style='WIDTH: 100%'>"; 
         while ($cat1 = mysql_fetch_object($artikel)) { 
         echo "<option>".$cat1->bezeichnung1."</option>";} 
         echo "</select>"; 
         echo '</td>';



Nun möchte ich es so haben dass wenn ein Artikel geändert / ausgewählt wird,
dass dann automatisch in das nächste Feld der Tabelle der dazugehörige
Preis angezeigt wird.

Leider bin ich in Sachen Javascript noch ein Newbie und würde mich sehr
freuen wenn mir jemand helfen könnte.

Danke im vorraus
 
Das Einfachste wäre, wenn du die Preise gleich mit in den <option>en "speicherst".
Möglich wäre da z.B. , sie ins value-Attribut zu packen. Wenn das nicht geht, könntest du es auch ins title-Attribut tun.
Beim onchange des <select> brauchst du dann das entsprechende Attribut nur auslesen und kannst es woanders ausgeben.

Code:
<select onchange="this.form.nameDesPreisanzeigefeldes.value=this.options[this.selectedIndex].title">
 
ich hab es jetzt mal wie folgt versucht,

Code:
$artikel = mysql_query ("SELECT id, bezeichnung1 FROM $prefix"."_artikel ORDER BY bezeichnung1 ASC")or die(mysql_error());
			echo '<select onchange="this.form.preis.value=this.options[this.selectedIndex].value" name="artikel_bez1" class="input" style="WIDTH: 100%">';
			while ($cat1 = mysql_fetch_object($artikel)) {
				$preisquery = mysql_query ("SELECT preis1 FROM $prefix"."_preise WHERE id_artikel1 ='$cat1->id'")or die(mysql_error());
				$cat2 = mysql_fetch_object($preisquery);
			echo "<option value=\"".$cat2->preis1."\">".$cat1->bezeichnung1."</option>";}
			echo "</select>";
			echo '</td>';
....
echo '<td width="15%%" bgcolor="#ffffff"><INPUT style="WIDTH: 100%" class=input_rechts_read readOnly name="preis"></td>';


Im Quellcode steht dann dies:

Code:
<td width="60%" bgcolor="#ffffff">
    	<select onchange="this.form.preis.value=this.options[this.selectedIndex].value" name="artikel1" class="input" style="WIDTH: 100%">
    		<option value="70.00">Basisversion </option>
    		<option value="50.00">Erweiterungsmodul F</option>
    		<option value="30.00">Erweiterungsmodul R</option>
    		<option value="5.00">Stundensatz</option>
    	</select>
    </td>
    <td width="10%" bgcolor="#ffffff"><input style="WIDTH: 100%" tabIndex=3 type="text" name="anzahl1" class="input_rechts"></td>
    <td width="15%%" bgcolor="#ffffff"><INPUT style="WIDTH: 100%" class=input_rechts_read readOnly name="preis"></td>

Nur wird mir leider nichts im Feld Preis angezeigt, kann mir dabei jemand weiterhelfen ?
 
Zuletzt bearbeitet:
Wenn die <form>-Tags da sind, hast du einen anderen Fehler, welcher aus dem geposteten Beispiel nicht ersichtlich ist... bei mir funktioniert das auf Anhieb.

Da müsstest schon mehr Code posten.
 

Neue Beiträge

Zurück