2016-05-05 6 views
0

Ich versuche, eine Excel-Tabelle zu verdecken, wo es mehrere hängt von einer Eingabe, die einige Calc läuft. und die Abhängigen zeigen die Summen in ihren Eingaben. Aber ich habe Probleme, sie zu feuern und einige Ergebnisse, es ist auch SUPER verwirrend zu versuchen, all diese Funktionen in seine Eingänge zu stecken. Jede Hilfe würde sehr geschätzt werden.Der Versuch, mehrere Funktionen onchange

HTML

<input class="" id="avg-pumping-distance" type="number" value="30000"/> 
<br/> 


<h3 style="margin: 50px 0 0px;">Output</h3> 
<input style="margin: 0px 0 0px;" class="" id="num1" type="number" value="0"> 
<br/> 
<input style="margin: 20px 0 0px;" class="" id="num2" type="number" value="0"> 
<br/> 
<input style="margin: 20px 0 0px;" class="" id="num3" type="number" value="0"> 

JavaScript

var ReserveFloatingPipe = function() { 
    var val = 100 
    var val2 = 4400 
    var val3 = 100 
    var val4 = (val2 - val3) * val; 
    var val5 = val * val4; 
    var total = val5/1000; 
    $('#num1').val(total); 
    return total; 
}; 

ReserveFloatingPipe(); 
// console.log(ReserveFloatingPipe()); 



var ReserveSubPipe = function() { 
    var val = 100 
    var val2 = 5400 
    var val3 = 100 
    var val4 = (val2 - val3) * val; 
    var val5 = val * val4; 
    var total = val5/1000; 
    $('#num2').val(total); 
    return total; 
}; 

ReserveSubPipe(); 

var ReserveShorePipe = function() { 
    var val = 562 
    var val2 = 652 
    var val3 = 8500 
    var val4 = (val2 - val3) * val; 
    var total = val4/100; 
    $('#num3').val(total); 
    return total; 
}; 

ReserveShorePipe(); 
// console.log(ReserveShorePipe()); 

document.getElementById("avg-pumping-distance").onchange = (function() { 
     ReserveFloatingPipe(); 
     ReserveSubPipe(); 
     ReserveShorePipe(); 
}); 
+1

Sie keinen Wert aus Ihren Eingaben erhalten. Deine Funktionen feuern richtig, denke ich. –

+0

In Ihrem 'onchange' Listener tun Sie nichts mit den Rückgabewerten Ihrer Funktion. Drüben sollten Sie die Rückgabewerte Ihrer Funktion verwenden, um das DOM zu ändern. –

Antwort

0

Ihre auf Änderungsfunktion, um Ihre "avg-Pumpen-Abstand" Eingangselement gebunden wird, bevor das Element vorhanden ist. Sie müssen die Funktion mit der Funktion Dokument bereit an das Element binden.

$(function(){ 
     document.getElementById("avg-pumping-distance").onchange = (function() { 
      ReserveFloatingPipe(); 
      ReserveSubPipe(); 
      ReserveShorePipe(); 
     }); 
    }); 

oder

$(function(){ 
     $("#avg-pumping-distance").on('change',function(){ 
      ReserveFloatingPipe(); 
      ReserveSubPipe(); 
      ReserveShorePipe(); 
     }); 
    }); 

oder

$(document).ready(function() { 
     document.getElementById("avg-pumping-distance").onchange = (function() { 
      ReserveFloatingPipe(); 
      ReserveSubPipe(); 
      ReserveShorePipe(); 
     }); 
    }); 

oder

$(document).ready(function() { 
     $("#avg-pumping-distance").on('change',function(){ 
      ReserveFloatingPipe(); 
      ReserveSubPipe(); 
      ReserveShorePipe(); 
     }); 
    }); 
+0

Ich freue mich über Ihr Feedback, aber ich bekomme es immer noch zu arbeiten. vielleicht kannst du dir dieses Beispiel anschauen und mir Feedback geben. http://codepen.io/coryk/pen/Kzbqwo?editors=1011 –

+0

@Cory Kelly, ich denke, ich bin ein wenig verwirrt, was Sie hier zu tun versuchen. Sollte "avg-pump-distance" der einzige Wert sein, der vom Benutzer geliefert wird, sind die anderen abhängig von Berechnungen, die auf diesem Wert basieren. Oder können alle Werte vom Benutzer geändert werden und sind voneinander abhängig? – gmfm

Verwandte Themen