如何使用jQuery计算单选按钮值的总和?

dat*_*ign 4 html javascript jquery radio-button

我正在尝试创建一个包含许多单选按钮的组的表单.当用户选择按钮时,我想计算每个所选单选按钮值的总和并向用户显示该总和.

我找到了一个jQuery的插件,它将进行计算,这个插件使用按钮的name属性来计算.例如,它将对具有该名称的所有按钮的值求和sum.

到目前为止,我已经尝试设置此功能的方法有两种:第一种方法,我创建了一个隐藏字段为每个组举行里面的选定值的总和,这个隐藏字段获取值,但问题是,总当用户选择按钮时,值不会更新.我的代码看起来像这样:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Untitled Document</title>
        <script src="jquery.js" type="text/javascript">
        </script>
        <script src="calc.js" type="text/javascript">
        </script>
        <script src="calc_f.js" type="text/javascript">
        </script>
        <script type="text/javascript">
            function DisplayPrice(price){
                $('#spn_Price').val(price);
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <input type="hidden" id="spn_Price" name="sum" value="">
            <br>
            <input id="rdo_1" type="radio" value="159" name="price" onclick="DisplayPrice(this.value);">
            <br>
            <input id="rdo_2" type="radio" value="259" name="price" onclick="DisplayPrice(this.value);">
            <br>
            <input type="text" name="totalSum" id="totalSum" value="" size="2" readonly="readonly">
        </form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在此代码中,带有名称的输入标记totalSum是值将更新的位置,但在更改按钮时不会更新.

正如我之前所说,我使用隐藏字段的原因是保存每个组的小计.它有名称sum,它向插件表明它应该被添加到其他人.

我不知道这是否是正确的方法,我试图改变按钮的名称属性,当用户点击它们,sum但这也不起作用!

这是插件地址:http://www.pengoworks.com/workshop/jquery/calculation/calculation.plugin.htm

我怎样才能做到这一点 ?

And*_*ell 21

插件schmugin.摆脱你的onclick并试试这个:

$("input[type=radio]").click(function() {
    var total = 0;
    $("input[type=radio]:checked").each(function() {
        total += parseFloat($(this).val());
    });

    $("#totalSum").val(total);
});
Run Code Online (Sandbox Code Playgroud)

  • +1.这就是为什么在学习框架之前学习语言的基础知识非常重要的原因.没有理由将插件带入这个特定问题. (3认同)