Javascript计算器无法正常工作

时间:2013-10-29 12:41:29

标签: javascript jquery calculator

我有这个计算器 http://jsfiddle.net/DPqXE/

HTML

<p>With numbers &rarr; 
<input id="mli" name="mli" style="width:50px;" type="text" />&nbsp;ml.</p>
<p>
With numbers &rarr; <input id="sprying" name="sprying" style="width:50px;" type="text" />&nbsp;time/s</p>
<p>
How often&rarr; <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">&bull;&bull;</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);
});
});

但我有一个问题: 当我在输入字段中输入一些数字时 计算总数,但是当我从选择字段中选择时,没什么好处。

之后,如果我编辑前两个字段,结果将正确计算。

非常感谢

2 个答案:

答案 0 :(得分:2)

为什么会这样,你只听取密钥。

bind keyupchange,如:

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

答案 1 :(得分:1)

您仅被分配.keyup(),也已分配到.change()

将其添加到$(document).ready(function() {..}

$('#week').change(function(ev){
    //....
});