Textfeld nach Dropdown Auswahl füllen

Hi,

wenn das der einzige Anwendungsfall ist, für den du jQuery benötigst, würde ich überlegen, ob ein derart grosses Framework dafür geeignet ist - schliesslich muss es vom Browser des Benutzers zunächst heruntergeladen werden (Bandbreite, Performance, Ladezeiten). Es sind immerhin gute 90kB für jQuery im Verhältnis zu vier Zeilen nativem JavaScript.

Vielleicht reicht es hier, das bestehende Script zu erweitern:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese" />
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
<!--
var arrURLs = ["", "50", "90", "30", "25"];
function changeInput(objSel, strName){
    objSel.form.elements[strName].value = arrURLs[objSel.selectedIndex];
}
//-->
</script>
</head>
<body>
<form method="post" action="">
    <select onChange="changeInput(this, 'txtOut');">
        <option value="t1">- Arbeit bitte auswaehlen -</option>
        <option value="t2">Streichen</option>
        <option value="t3">Tapezieren</option>
    </select>
    <input type="text" name="txtOut" value="" />

    <BR><BR>

    <select onChange="changeInput(this, '2txtOut');">
        <option value="t1">- Farbe bitte auswaehlen -</option>
        <option value="t4">Grün</option>
        <option value="t5">Rot</option>
    </select>
    <input type="text" name="2txtOut" value="" />
</form>
</body>
</html>
Sollten für die Select-Felder unterschiedliche Werte benötigt werden, könnte das über ein Objekt statt eines Arrays (arrURLs) realisiert werden.

Ciao
Quaese
 
Hallo slsb02, Quaese vielen Dank nochmal für Eure Hilfe.

Unter dem letzten txtOut - Feld wollte ich abschließend die Endsumme berechnen, aber folgendes Funktioniert einfach nicht

<input " type="button" value="Endsumme berechnen!" onclick="output.value = (parseFloat(txtOut.value) + parseFloat(2txtOut.value) + parseFloat(3txtOut.value)) * 0.19 + parseFloat(txtOut.value) + parseFloat(2txtOut.value) + parseFloat(3txtOut.value)" />
<input type="text" id="output" value="" / > €

innerhalb einer einzelnen html-Datei funktioniert das Problemlos, nur hier nicht, - habt Ihr eine Idee ? Vielen Dank im Voraus, Charli
 
Hallo charli,

also ich würde es so machen (ich denke, dass ist auch übersichtlicher):

ersetze deinen "Endsumme berechnen!" - Button mit
PHP:
<input type="button" value="Endsumme berechnen!" onclick="calculation();" />

und innerhalb des <script type="text/javascript"></script> fügst du nach der Funktion changeInput folgendes ein
PHP:
	function calculation() {
	 var field1 = parseFloat(document.getElementsByName("txtOut")[0].value);	
	 var field2 = parseFloat(document.getElementsByName("2txtOut")[0].value);	
	 var field3 = parseFloat(document.getElementsByName("3txtOut")[0].value);	

	 var result = (field1+field2+field3)*0.19+field1+field2+field3;
	 document.getElementById('output').value = result;
	}

damit sollte eigentlich alles wie gewünscht funktionieren...

Gruß!
 
Hallo Zusammen,

ich suche nach einer ähnlichen lösung wie slsb02.

wie man entsprechend einer auswahl in einem dropdown menü einen bestimmten wert in ein nicht editierbares anderes textfeld schreibt, hab ich rausgekriegt.

mein problem ist nun, dass ich ein recht grosses formular habe welches mit einer tabelle aufgebaut ist und mehrere zeilen mit dropdown feldern und dazugehörenden textfeldern enthält. ich habs mit dem letzten beispiel (in dem streichen, tapezieren genannt ist) von Quaese probiert, allerdings scheint das nicht über andere tabellenfelder hinaus zu funktionieren.

mein versuch für jede zeile ein eigenes array anzulegen hat nicht geklappt.

wäre ebenfalls für einen schubs in die richtige richtung sehr dankbar! :)

Vielen Dank
fluffy0582
 
Zurück