2014-10-10 103 views
0

所以我有一組數字,比如這個:JQuery的toFixed()不能正確顯示

<select name="amount" id="amount" class="form-control"> 
     <option selected="selected" disabled="disabled">Donation Amount</option> 
     <option value="500">$5.00</option> 
     <option value="1000">$10.00</option> 
     <option value="1500">$15.00</option> 
     <option value="2000">$20.00</option> 
     <option value="2500">$25.00</option> 
     <option value="3000">$30.00</option> 
     <option value="3500">$35.00</option> 
     <option value="4000">$40.00</option> 
     <option value="4500">$45.00</option> 
     <option value="5000">$50.00</option> 
     <option value="5500">$55.00</option> 
     <option value="6000">$60.00</option> 
     <option value="6500">$65.00</option> 
     <option value="7000">$70.00</option> 
     <option value="7500">$75.00</option> 
     <option value="8000">$80.00</option> 
     <option value="8500">$85.00</option> 
     <option value="9000">$90.00</option> 
     <option value="9500">$95.00</option> 
     <option value="10000">$100.00</option> 
</select> 

每到這個變化我有一個運行一些javascript:

<script type="text/javascript"> 
    $("#amount").change(function(){ 
     var amount = parseInt($("#amount option:selected").val()); 
     var amount = amount.toFixed(2); 
     $(".amountShow").text('$'+amount); 
    }); 
</script> 

現在幾乎作品。除了一切的toFixed(2)部分。假設我們選擇10.00。值是1000,我想顯示10.00。它反而顯示如:1000.00。

我還需要做什麼?我將文本轉換爲整數,然後將其固定爲兩位小數。

+1

嘗試'無功量=(金額/ 100).toFixed(2);' – Cheery 2014-10-10 00:27:09

+0

或者,你可以刪除多餘的零的從價值。 – imtheman 2014-10-10 00:28:17

+1

[* toFixed *](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.prototype.tofixed)是一個內置的ECMAScript函數,它不是jQuery。 – RobG 2014-10-10 00:58:31

回答

0

你必須100像選項的值來劃分:http://jsfiddle.net/csdtesting/14rh32ou/

$("#amount").change(function() { 
    var amount = parseInt($("#amount option:selected").val())/100; 
    var amount = amount.toFixed(2) 
    $(".amountShow").text('$' + amount); 

});