与えられたサービングに従ってレシピの材料を計算するjQueryコードが少しありますが、どこかで正しく機能していません。
私のコードは次のようなものです:
Serving: <input type="text" name="serving" class="serving" value="5" /> persons
<input type="hidden" id="previousServing" value="5"/>
<h3>ingredients</h3>
<ul class="ingredients">
<li class="ingredient">
<span class="amount">1</span> cups
<span class="name"><a href="http://www.mysite.com/ingredient/yogurt/">yogurt</a></span>
</li>
<li class="ingredient">
<span class="amount">2</span> tbsp
<span class="name"><a href="http://www.mysite.com/ingredient/yogurt/">chillies</a></span>
</li>
<li class="ingredient">
<span class="amount">3</span> pieces
<span class="name"><a href="http://www.mysite.com/ingredient/yogurt/">butter</a></span>
</li>
</ul>
$(function() {
$('.serving').bind('keyup', function(event) {
var previousValue = parseFloat($("#previousServing").val());
var newValue = parseFloat($(event.target).val());
if (previousValue && newValue) {
$('.ingredient').each(function(index, elem) {
var ingredientNow = $('.amount', elem);
var oldIngredientAmount = ingredientNow.text();
var newIngredientAmount = oldIngredientAmount * newValue / previousValue;
ingredientNow.text(newIngredientAmount);
});
$('#previousServing').val(newValue);
}
});
});
http://jsfiddle.net/vansimke/tLWpr/
問題:
- サービングを1.5に変更すると、小数点以下の桁数が無制限になります
- サービングを元に戻す(5)、小数は消えません
必須:小数点なし、または絶対2桁に丸めます。つまり、2.08は2.00である必要があります。
期待してくれてありがとう。