我有这个计算器 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);
});
});
但我有一个问题: 当我在输入字段中输入一些数字时 计算总数,但是当我从选择字段中选择时,没什么好处。
之后,如果我编辑前两个字段,结果将正确计算。
非常感谢
答案 0 :(得分:2)
为什么会这样,你只听取密钥。
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);
}
});
答案 1 :(得分:1)
您仅被分配.keyup()
,也已分配到.change()
将其添加到$(document).ready(function() {..}
$('#week').change(function(ev){
//....
});