使用jquery进行计算无法正常工作

时间:2013-06-26 02:29:38

标签: jquery google-maps

我会尽力用英语,但可能会有错误。

我正在制作一个从Google地图中检索里程的脚本。检索里程必须乘以我选择的数字。检索里程不是问题......它的倍增。

它必须自动执行,但只有当我从检索里程更改某些数字时它才会成倍增加。

仅当我在输入中输入一些数字而不是谷歌地图放置它时它才起作用。

我希望你能理解我在这段视频中的含义video

HTML

<input class="calculate" type="text" name="start" id="start" placeholder="VERTREK ADRES" />
<input class="calculate" type="text" name="end" id="end" placeholder="AANKOMST ADRES" />
<input id="first" class="calculate aantal " type="number" name="distance" placeholder="AANTAL KM" />
<select id=second class="calculate span5">
    <option value=2>value 2</option>
    <option value=1.50>LANCIA</option>
</select>
<br />
<p style="color:#FFF; font-size:20px;">Prijs totaal:<span id=added></span></p>
<br />
<BUTTON class="CALCULATEB span3" type="submit" value="ROUTE NAKIJKEN" onclick="calcRoute()">ROUTE NAKIJKEN</BUTTON>

的jQuery

<script type = "text/javascript">         
$('input').keyup(function () {     
  // run anytime the value changes
  var firstValue = parseFloat($('#first').val()); // get value of field
  var secondValue = parseFloat($('#second').val()); // convert it to a float
  var thirdValue = parseFloat($('#third').val());
  $('#added').html(firstValue * secondValue); // add them and output it
});     
</script> 

1 个答案:

答案 0 :(得分:0)

多数民众赞成是因为你只在密钥代码上运行...

把它放在像这样的函数中....

    function getMiles(){
    var firstValue = parseFloat($('#first').val()); // get value of field
    var secondValue = parseFloat($('#second').val()); // convert it to a float
    var thirdValue = parseFloat($('#third').val());
    $('#added').html(firstValue * secondValue ); 

    }

然后你就可以在keyup上运行那些代码,只要它改变....并且只需要在任何其他时间运行它......就像页面加载时一样......

$('input').keyup(getMiles); //this will do as you had it before...


 getMiles();//this can be used at top of script, or in a callback, 
            //so that it updates on page load, or on the google map callback 

例如,我不知道你是如何从谷歌获取数据的,但是让我们假装它是一个Jquery Ajax调用....然后你只需要在成功函数中调用getMiles() ...像这样...

$.ajax({
   url: "googlemapexample.php",
   dataType: "json",
   success: getMiles
   });

或者在完成功能....所以你可以在scuccess上做其他的事情......

    $.ajax({
   url: "googlemapexample.php",
   dataType: "json",
   success: function(data){
    ///do some stuff here with data
    } }).done(getMiles);