-2

配送オプション用に、このようなスクリプトがあります

<script language="javascript">
$(document).ready(function()
{   
    var total = 0;
    function calcTotal()
    {
        $("input:checked").each(function()
        {
            //This happens for each checked input field
            var value = $(this).attr("value");
            total += parseInt(value);           

        });
    }
    //This happens when the page loads
    calcTotal();    
    $("#total").append('<input style="border:0px" type="text" name="total" value=" '+ total +' " readonly />');
    $("input:radio").click(function()
    {
        total = 0;
        calcTotal();
        $("#total").html ('<input style="border:0px" type="text" name="total" value=" '+ total +' " readonly />');
    });
});
</script>

オプションへの無線入力を使用すると、合計で

オプション1<input name="shipp" type="radio" value="1234567" checked />

オプション 2<input name="shipp" type="radio" value="2345678" />

出力:<div id=total></div>

ヘルプが必要です。ビューに何千ものフォーマットの総数を表示するにはどうすればよいですか?たとえば、1234567の場合、結果は1,234,567になりますか?

手伝ってくれてありがとう

4

2 に答える 2

2

複製:

数字の 3 桁ごとにコンマを追加する

スレッドに関する Doug Neiner の回答から:

@Paul Creasey は正規表現として最も単純なソリューションを持っていましたが、ここでは単純な jQuery プラグインとして示しています。

$.fn.digits = function(){ return this.each(function(){ $(this).text( $(this).text().replace(/(\d)(?=(\d\d \d)+(?!\d))/g, "$1,") ); }) }

次に、次のように使用できます。

$("span.numbers").digits();

彼の答えを上げてください。

あなたのソリューションは次のようになります: ...

    $("input:checked").each(function()
    {
        //This happens for each checked input field
        var value = $(this).attr("value");
        total += parseInt(value.replace(",",""));           

    });

    //This happens when the page loads
    calcTotal();   
    var totalAsString = total.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");  
    $("#total").append('<input style="border:0px" type="text" name="total" value=" '+ totalAsString +' " readonly />');
    $("input:radio").click(function()
    {
        total = 0;
        calcTotal();
        $("#total").html ('<input style="border:0px" type="text" name="total" value=" '+ totalAsString +' " readonly />');
    });
于 2012-06-15T09:52:25.880 に答える