Javascript умножить 3 входа

Я знаю, что эта тема много раз затрагивалась здесь, но я не могу понять, как это правильно. Я извлекаю значение для #resultBox в зависимости от выбранного выпадающего списка. Затем я хочу умножить это на 2 поля ввода ниже.

Любая помощь очень ценится! Заранее спасибо!

<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/

1 ответ

Сделать что-то подобное

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>
Другие вопросы по тегам