2013-06-26 3 views
0

Я сделаю все возможное, чтобы на английском языке, но могут быть ошибки.расчет с jquery не работает должным образом

Я работаю над скриптом, который извлекает мили из Карт Google. Извлечение миль должно быть умножено на число, которое я выбираю. Извлечение миль не проблема ... ее умножилось.

Он должен делать это автоматически, но он только умножается, когда я изменяю некоторые числа из миль.

Его вроде работает только, когда я помещаю некоторые цифры во входные данные, а не когда Google Maps ставит его.

Надеюсь, вы можете понять, что я имею в виду в этом видео 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> 

ответ

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 

Например, я не знаю, как вы получаете данные из Google, но давайте притвориться, что он вызвал 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);