Tach!
Ich möchte die kommastelle Varialbe in die untere Funktion mitgeben, damit sie in die .toFixed() hinzugefüg wird. Wie kann ich das Lösen?
Der Wert steht dir über $('#w').val() zur Verfügung.
[code lang=javascript]
$('#w').on('change', function() {
if($(this).val() == "4") {
var kommastellen = 4;
}if($(this).val() == "2") {
var kommastellen = 2;
}if($(this).val() == "3") {
var kommastellen = 3;
}});
Don't repeat yourself! Das var muss in einem Scope nur einmal geschrieben werden. Die anderen beiden var sind überflüssig. Wenn die Kommastellen nur im Bereich >=2 und <=4 sein dürfen, dann kann man das in einer Bedingung abfackeln. Zunächst $(this).val() in einer lokalen Variable ablegen, damit das nicht mehrfach ermittelt werden muss, dann den Vergleich mit && notieren, anschließend einmal den Wert zuweisen. Allerdings bleibt dann dann das Wie-bekommt-man-den-Wert-nach-unten-Problem. Besser ist, den Wert mit Math.min() und Math.max() einzufangen. $(this).val(Math.min(4, Math.max(2, $(this).val()))). Und noch besser ist, den Bereich gleich beim <input id="w" type="number" min="2" max="4"> anzugeben. (Und ein sprechenderer Bezeichner als nur "w" kommt auch immer gut.)
dedlfix.