[英]Javascript Calculator does not work properly
我有这个计算器http://jsfiddle.net/DPqXE/
的HTML
<p>With numbers →
<input id="mli" name="mli" style="width:50px;" type="text" /> ml.</p>
<p>
With numbers → <input id="sprying" name="sprying" style="width:50px;" type="text" /> time/s</p>
<p>
How often→ <select id="week" name="week"><option value="4.3">1</option><option value="8.6">2</option><option value="12.9">3</option><option value="17.2">4</option><option value="21.5">5</option><option value="24.8">6</option><option value="30.1">7</option></select>
<p>
Total: <span id="total">••</span> months</p>
JS
$(document).ready(function() {
$('#sprying').keyup(function(ev){
var total = Math.round((
($('#mli').val() * 14.7) / ($('#sprying').val() * $( "#week option:selected" ).val() )));
$('#total').html(total);
});
});
但是我有一个问题:当我在输入字段中键入一些数字时,会计算出总数,但是当我从选择字段中选择时,什么也不会发生。
然后,如果我编辑前两个字段,则可以正确计算结果。
非常感谢
为什么会这样,您只听键控。
bind
keyup
和change
,例如:
$(document).ready(function() {
$('#sprying').keyup(updateTotals);
$('#week').change(updateTotals);
function updateTotals(){
var total = Math.round((
($('#mli').val() * 14.7) / ($('#sprying').val() * $( "#week option:selected" ).val() )));
$('#total').html(total);
}
});
演示: http : //jsfiddle.net/DPqXE/1/
您只分配了.keyup()
,也分配了.change()
将其添加到$(document).ready(function() {..}
$('#week').change(function(ev){
//....
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.