jQuery SUM加倍值

时间:2013-04-17 10:05:05

标签: jquery

我想从所有选择菜单中收集所有值。但是在选择未正确添加的十进制数时。

jQuery代码:

var total = 0;

function calcTotal()
{
    $("input:checked,select").each(function()
    {
        //This happens for each checked input field
        var value = $(this).attr("value");
        total += parseInt(value); 
        var prog = $('select[name="prog"] option:selected').text();
        $("#prog1").val(prog);

        var ticket = $('select[name="ticket"] option:selected').text();
        $("#ticket1").val(ticket);

        var skn = $('select[name="skn"] option:selected').text();
        $("#skn1").val(skn);

        var buy = $('input[name=buy]:checked').text()
        $("#buy1").val(buy);
    });
}

//This happens when the page loads
calcTotal();    
$("#total").val(total); 

$("input:checkbox, input:radio,select,selected").click(function()
{
    total = 0;
    calcTotal();

    $("#total").val(total);
});

HTML代码:

<form method="POST" >
    <select name="logah" style="padding: 3px;">
        <option value="0">--</option>
        <option value="1"  >1</option>
        <option value="1.5"  >1.5</option>
        <option value="2.5" >2.5</option>
    </select>

    <select name="select2" style="padding: 3px;">
        <option value="0">--</option>
        <option value="1"  >1</option>
        <option value="2" >6</option>
    </select>

我想从选择菜单中总结所有值。

1 个答案:

答案 0 :(得分:2)

您尝试使用parseInt函数解析数字,该函数仅解析整数值(...,-1 0,1,2,3 ...)。将其更改为parseFloat,它应该可以正常工作。

其他方式是添加该字符串,当添加到其他数字时将转换为数字:

0 + "1.5" => 1.5   (number)
"" + "1.5 => "1.5" (string)