我有一个问题乘以数字然后获得总和。 。

时间:2011-04-20 10:50:20

标签: javascript jquery

    <script language="JavaScript" type="text/javascript"> 
    $(document).ready( function() {


        $(".chkOptions").click(

            function () {
              var multiplier = $('#multiplier').val();

                var y = $('.chkOptions').val() * multiplier;
                $(".chkOptions:checked").each(function () {
                    y += parseInt($(this).val());
                });


                $("#txtSavingsTot").val(y);

            })
            .change();



    });
    </script> 

此代码不会引导我任何地方。 。 。我想要发生的是隐藏的字段乘数乘以复选框

<input type="checkbox" name="cb1" id="cb1" value="60" class="chkOptions" /><input type="checkbox" name="cb2" id="cb2" value="40" class="chkOptions" /><input type="checkbox" name="cb3" id="cb3" value="15" class="chkOptions" /><input type="checkbox" name="cb4" id="cb4" value="20" class="chkOptions" /><input type="hidden" name="multiplier" id="multiplier" value="4" />

我想要发生的是在复选框旁边(选中时)乘以的值&amp;将显示小计,你可以帮助Stackoverflow专业人士解决这个问题吗?谢谢:))

XXXXXXO

3 个答案:

答案 0 :(得分:6)

var multiplier = $('#multiplier').val();

multiplier是一个字符串。

var multiplier = parseInt($('#multiplier').val());

是一个整数。

var multiplier = parseFloat($('#multiplier').val());

是一个浮动。

使用您需要的任何一个。


修改我不太清楚你期望$('.chkOptions').val()给你什么。

答案 1 :(得分:3)

这是你想要做的吗?

http://jsfiddle.net/afWT2/1/

$(".chkOptions").click(

function() {
    var multiplier = parseInt($('#multiplier').val());

    var y = 0;
    $(".chkOptions:checked").each(function() {
        y = y + parseInt($(this).val());
    });
    $("#txtSavingsSub").val(y);
    y = y * multiplier;


    $("#txtSavingsTot").val(y);

}).change();

答案 2 :(得分:2)

除了@Tomalak Geret'kal给出的答案,这一行

var y = $('.chkOptions').val() * multiplier;

应该是

var y = parseFloat($(this).val()) * multiplier;