2014-10-08 60 views
0

我知道這個話題已經在這裏被觸及很多次,但我似乎無法做到。我正在根據所選下拉菜單爲#resultBox拉取值。然後我想將它乘以下面的2個輸入字段。Javascript乘以3個輸入

任何幫助,非常感謝!提前致謝!

<input type="text" id="resultBox" name="resultBox" readonly="true" /> 
<select id="off" onchange="calc()"> 
    <option value="1" data-one="0" >Select Option</option> 
    <option value="14" data-one="14" >Off</option> 
    <option value="8" data-one="8" >On</option> 
</select> 
<br><br> 
<!-- FTE --> 
FTE 
<div id="f1"> 
    <form> 
     <input type="text" name="FTE" id="FTE"> 
    </form> 
</div> 

<!-- Duration --> 
Duration 
<div id="d1"> 
    <form> 
     <input type="text" name="Duration" id="Duration"> 
    </form> 
</div> 

    <div id="dom_element">-</div> 

這裏是JavaScript

$('#off').change(function() { 
    var select1_control = 1; 
    var str = select1_control * $(this).find('option:selected').data('one'); 
    $('#resultBox').val(str); 


}); 


    var multiplier = 1; 

// bind keyup 
$("#FTE").on("keyup change", function() { 
    var value = this.value; 
    var valuemath = value * durationMultiplier; 
    $("#dom_element").text(valuemath); 
}); 


$('#Duration').change(function(){ 
    durationMultiplier = $(this).val(); 
    $("#FTE").trigger("keyup"); 



}); 

http://jsfiddle.net/xuC6f/50/

+0

閱讀你的一些錯誤控制檯請 – 2014-10-08 21:20:29

+1

聲明'變種durationMultiplier = 0;'作爲第一在你的JS – 2014-10-08 21:20:50

+0

線我能夠得到它去通過另一條路線。 http://jsfiddle.net/xuC6f/66/ – JohnnyHobart 2014-10-09 21:49:40

回答

0

做這樣的事情

function calc(multiply) 
{ 
    if (multiply) { tt.value = parseFloat(qt.value * un.value).toFixed(2); } 
    else { un.value = parseFloat(tt.value/qt.value).toFixed(2); } 
} 

<form> 
    <ul> 
     <li>Qt: <input type="text" id="qt" onblur="calc(true)" /></li> 
     <li>Unt: <input type="text" id="un" onblur="calc(true)" /></li> 
     <li>Tot: <input type="text" id="tt" onblur="calc(false)" /></li> 
    </ul> 
</form>