У меня есть калькулятор базовых расходов, который я хочу автоматически добавлять значения, поскольку числа вводятся в текстовые поля. Это отлично работает в Chrome, но по какой-то причине только в хром. Моя цель состоит в том, чтобы новые математические результаты отображались после знака доллара, когда число вводилось в текстовое поле. Я не получаю никаких консольных ошибок, и JS Hint/Lint выглядят хорошо.Jquery keyup работает только в Chrome?
Любые идеи, почему это работает в хроме, но не где?
Вот скрипка: http://jsfiddle.net/Egreg87/j7r4zte8/4/
window.onload = function() {
$('input').keyup(function(){ // run anytime the value changes
var duration = parseFloat($('#duration').val()) || 0; // get value of field
var timeHr = parseFloat($('#timeHr').val()) || 0; // get value of field
var distance = parseFloat($('#distance').val()) || 0; // get value of field
var flight = parseFloat($('#flight').val()) || 0; // convert it to a float
var parkDays = parseFloat($('#parkDays').val()) || 0;
var parking = '12.00';
var fuelCost= '3.50';
$('#added').html(flight + parkDays * parking + distance * (2)/(20) * fuelCost + timeHr); // add them and output it
});
$('input').keyup(function(){ // run anytime the value changes
var distance1 = parseFloat($('#distance1').val()) || 0; // get value of field
var flight1 = parseFloat($('#flight1').val()) || 0; // convert it to a float
var parkDays = parseFloat($('#parkDays').val()) || 0;
var parking1 = '12.00';
var fuelCost1= '3.50';
$('#added1').html(flight1 + parkDays * parking1 + distance1 * (2)/(20) * fuelCost1); // add them and output it
});
$('input').keyup(function(){ // run anytime the value changes
var duration2 = parseFloat($('#duration2').val()) || 0; // get value of field
var timeHr = parseFloat($('#timeHr').val()) || 0; // get value of field
var distance2 = parseFloat($('#distance2').val()) || 0; // get value of field
var flight2 = parseFloat($('#flight2').val()) || 0; // convert it to a float
var parkDays = parseFloat($('#parkDays').val()) || 0;
var parking2 = '12.00';
var fuelCost2= '3.50';
$('#added2').html(flight2 + parkDays * parking2 + distance2 * (2)/(20) * fuelCost2); // add them and output it
});
<!--Caclulator fields-->
<div id="calc-fields">
<div>
<label class="main3">MGM</label><br>
<label>Total Cost of Your Flight(s) from MGM $:</label>
<input name="numeric" class="allownumericwithdecimal" id="flight"></input><br />
<label for="distance">Distance (miles): </label>
<input type="text" class="number" name="distance" id="distance"></input>
<label for="duration">Drive Time (minutes): </label>
<input type="text" name="duration" id="duration" class="drive-time"></input>
<label class="main">Total Cost from MGM: <br>$</label>
<span id="added" class="main2"></span><br />
</div>
<div>
<label class="main3">ATL</label><br>
<label>Total Cost of Your Flight(s) from ATL $:</label>
<input name="numeric" class="allownumericwithdecimal" id="flight1"></input><br />
<label for="distance1">Distance (miles): </label>
<input type="text" name="distance1" id="distance1"></input>
<label for="duration1">Drive Time (minutes): </label>
<input type="text" name="duration1" id="duration1" class="drive-time"></input>
<label class="main">Total Cost from ATL:<br> $</label>
<span id="added1" class="main2"></span><br />
</div>
<div>
<label class="main3">BHM</label><br>
<label>Total Cost of Your Flight(s) from BHM $:</label>
<input name="numeric" class="allownumericwithdecimal" id="flight2"></input><br />
<label for="distance2">Distance (miles): </label>
<input type="text" name="distance2" id="distance2"></input>
<label for="duration">Drive Time (minutes):</label>
<input type="text" name="duration2" id="duration2" class="drive-time"></input>
<label class="main">Total Cost from BHM: <br>$</label>
<span id="added2" class="main2"></span><br />
</div>
<br>
<hr></hr>
<!--End calc fields-->
Это не работает для меня в Chrome. Код в вашей скрипте не совпадает с вопросом, он использует '$ ('input'). Bind ('propertychange input paste', ...)', а не '$ ('input'). Keyup (. ..) '. – Barmar
Ваша скрипка также не будет работать в Chrome, так как у вас есть 'window.onload = ...' и опция 'onLoad' слева. Если вы исправите это, то, похоже, также работает с FF. –
Ваша скрипка не работает в Chrome, ни в Firefox - если я изменю вашу скрипку - на «no wrap» - в
это работает: http://jsfiddle.net/j7r4zte8/2/ –