2016-06-14 19 views
1

以下のコードは、チェックボックスの合計と結果を示しています。jQuery小数はチェックボックスの合計結果に表示されません

私はthisからこのコードを持っています。

HTML

<input type="checkbox" checked value="Gez" rel="69.95">Gezichtsbehandeling 
<input type="checkbox" value="ExtraLang" rel="9.95">Extra lange 
<input type="checkbox" value="Massage" rel="59.95">Massage 
<input type="checkbox" value="Pedicure" rel="35">Pedicure 

Totaal <span id="output"></span> 

JS

<script> 
$(document).ready(function() { 
    function recalculate() { 
     var sum = 0; 

     $("input[type=checkbox]:checked").each(function() { 
      sum += parseInt($(this).attr("rel")); 
      ; 
     }); 

     $("#output").html(sum); 
    } 

    $("input[type=checkbox]").change(function() { 
     recalculate(); 
    }); 
}); 

</script> 

問題は、合計は、小数点以下が表示されないということです。

はのparseIntは、小数部分を除去されているため、明らかにこれが起こっているここjsfidle

答えて

3

$("input[type=checkbox]:checked").each(function() { 
     sum += parseFloat($(this).attr("rel")); 
    }); 

変更parseFloatからparseIntは、小数点以下を維持します。 JSFiddle

作業

はUPDATE:出力は、小数点以下2桁にフォーマットするために得るためにあなたの要求ごとに

..あなたがへ

$("#output").html(sum); 

を変更する必要があります。

$("#output").html(sum.toFixed(2)); 

あなたが望む形式をあなたに与えるはずです。 JSFiddle

+0

あなたは15秒早いです。あなたに+1: –

+1

@ Sk.Tajbirハハありがとう。偉大な心は同じように考える:) –

+0

@リチャードあなたは大歓迎です。お役に立てて嬉しいです! –

2

を参照してください。特にintではなく、任意の数値に変換します。あなたのJSFiddleパー

sum += +$(this).attr("rel"); 
+0

あなたのアプローチは、あなたが始めたほうがずっと優れていて簡単です。しかし、コードでは単にparseIntをparseFloatに変更するだけでした。私はこれがあなたのコメントに答えることを望みます。 – Richard

2

作業

はこれを試してみてください:

$("input[type=checkbox]:checked").each(function() { 
    sum += parseFloat($(this).attr("rel")); 
}); 

parseFloatはへのparseIntを交換してください。ここにjsFiddle:http://jsfiddle.net/efvxefx1/2/

ありがとうございます。

+0

これはありがとうございます、悪くて少し遅くなりました、とにかく努力してくれてありがとう。 +1 – Richard

0

合計を行う前にIntに変換しているからです。下のコードに更新してください

sum += parseFloat($(this).attr("rel")); 
2

小数点以下2桁も取得してください!

$("input[type=checkbox]:checked").each(function() { 
      sum += parseFloat($(this).attr("rel")); 
     }); 
    sum = sum.toFixed(2) 
    $("#output").html(sum); 
+0

ありがとうございました、固定小数点は私が知る必要があった何か他のものでした。それは完璧に動作します – Richard

+0

'sum 'を小数点以下2桁までフォーマットするためのUpvote :) –

関連する問題