我有3个输入字段,距离,时间和平均速度。我希望自动计算平均速度字段以最小化用户的工作量。因此我提出了这个功能,但它不起作用:
$('#Avg Speed').click(function(event) {
var distance = $('#Distance');
var time = $('#Time');
var speed = distance / time;
$(this).append(speed);
});
有什么想法吗?比点击字段更好的是,一旦距离和时间完成,结果就会自动出现。毫无疑问,我的代码揭示了我对这个东西的新手。
答案 0 :(得分:1)
如果您的速度是自动生成的,那么在输入时将其禁用是很好的
也可能是您搜索的最佳事件是模糊
HTML部分:
<label>Distance <input type="text" name="distance" id="distance"></label><br />
<label>Time <input type="text" name="time " id="time"></label><br />
<label>Speed <input type="text" name="speed " id="speed" disabled></label>
Jquery部分:
$('#distance,#time').on('blur', function() {
var distance = $('#distance');
var time = $('#time');
var speed = $('#speed');
if(parseInt(time.val()) > 0 && parseInt(distance.val()) > 0)
speed.val(distance.val()/time.val());
})
此外,如果添加时间,距离和速度的度量是个好主意
答案 1 :(得分:0)
<input type="text" id="Distance">
<input type="text" id="Time">
<input type="text" id="Speed">
$('#Avg Speed').focus(function(event) {
var distance = $('#Distance').val();
var time = $('#Time').val();
var speed = distance / time;
$(this).val(speed);
});
答案 2 :(得分:0)
尝试使用onKeyUp事件,我会给你一个例子:
HTML:
<input type="number" id="distance"></input>
<input type="number" id="speed"></input>
<input type="number" id="speed" onKeyUp="calcultate()"></input>
<Label id="result"></Label>
JS:
function calculate(){
//get all input values calculate your thing and then put it back //in the result, this will be called each time a user presses a key in the //last input field
$('#result').text(yourResult);
}