我会尽力用英语,但可能会有错误。
我正在制作一个从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>
答案 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);