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");
});
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>