计算和输入平均速度的功能

时间:2015-07-30 12:19:52

标签: javascript jquery

我有3个输入字段,距离,时间和平均速度。我希望自动计算平均速度字段以最小化用户的工作量。因此我提出了这个功能,但它不起作用:

$('#Avg Speed').click(function(event) {
            var distance = $('#Distance');
            var time = $('#Time');
            var speed = distance / time;
            $(this).append(speed);
        });

有什么想法吗?比点击字段更好的是,一旦距离和时间完成,结果就会自动出现。毫无疑问,我的代码揭示了我对这个东西的新手。

3 个答案:

答案 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);  
   }