0

我有这个计算器 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);
});
});

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

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

非常感谢

4

2 回答 2

2

为什么会呢,你只听keyup。

bindkeyupchange类似于:

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

于 2013-10-29T12:43:58.577 回答
1

只分配给你.keyup(),也分配给.change()

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

$('#week').change(function(ev){
    //....
});
于 2013-10-29T12:44:46.077 回答