-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

副本:

每三位数字添加逗号

来自 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 回答
0

intVariable.toLocaleString()为你做一切

于 2018-12-19T09:12:54.447 回答