0

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

我正在编写一个从谷歌地图检索英里的脚本。检索里程必须乘以我选择的数字。检索里程不是问题......它成倍增加。

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

只有当我在输入中输入一些数字而不是当谷歌地图输入时,它才会起作用。

我希望你能明白我在这个视频中的意思

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> 
4

1 回答 1

0

那是因为您只能在 keyup 代码上运行它...

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

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

或者在 done 函数中......这样你就可以在成功上做其他事情......

    $.ajax({
   url: "googlemapexample.php",
   dataType: "json",
   success: function(data){
    ///do some stuff here with data
    } }).done(getMiles);
于 2013-06-26T02:33:19.160 回答