2014-10-10 2 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

+0

Или вы можете просто удалить лишние нули от значения. – imtheman

+1

[* toFixed *] (https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.prototype.tofixed) - это встроенная функция ECMAScript, это не jQuery. – RobG

ответ

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); 

}); 
Смежные вопросы