我有一小塊jQuery代碼,它根據給定的服務計算配方成分,但在某個地方它不能正常工作。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.08應該是2.00。
感謝您的期待。
它似乎工作,一旦我添加你的給定線,關於第二個概率,因爲我不擅長jQ,你會抽出一些時間來演示一個例子;請。如果需要,我可以在我的html代碼中作出適當的修改 – user1305063 2012-04-25 19:26:24
@ user1305063好的,我已經爲你更新了fiddler http://jsfiddle.net/vQbQ6/14/ – Murtnowski 2012-04-25 20:02:43
完美和謝謝,只有一個問題,當我使用1/4或3/4它不會正確計算?但由於提供了一個堅實的基礎 – user1305063 2012-04-26 21:35:50