【问题标题】:Display first value unless checkbox is checked, then calculate除非选中复选框,否则显示第一个值,然后计算
【发布时间】:2017-03-08 11:08:18
【问题描述】:

所以我花了很多时间处理动态预订表单。我设法让隐藏和显示功能按我的意愿工作,并且值根据选择的单选按钮而变化。对于下一步,我想计算这些值。但我想首先显示收音机的价值。然后当用户选中一个复选框时,将每个选中复选框的值添加到 Radio 的值中。我设法获得了添加所有复选框并将其添加到单选值的功能。

        var sum1;
    $('input[name=price]').change(function() {
        sum1 = $('input[name=price]:checked').val();
    });
    $('input[name=custompak]').change(function() {
        var sum2 = 0;
        $('input[name=custompak]:checked').each(function() {
        sum2 += parseInt($(this).prop('value'));
    });
      document.getElementById('finalprice').innerHTML = parseInt(sum1) + parseInt(sum2);
    });

这是完整表单的 JSFiddle: https://jsfiddle.net/mullern/2cr91vvq/2/

仅供参考,JS 代码的其余部分会根据 Customertype 选择更改值,并且它还会隐藏捆绑包中已包含的产品的复选框。

我的目标是在选中一个时显示在 radiogroup 中显示的包的价格。然后,当一个或多个复选框被选中时,该值将添加到 radiogroup 选择的值中。

在旁注中,我也无法弄清楚如何在页面加载时显示值,以便用户在打开联系表单时看到默认选择值。

我希望这不会令人困惑,并提前感谢您对我的问题的任何帮助。

【问题讨论】:

    标签: javascript jquery checkbox radio-button


    【解决方案1】:

    看看这个 [fiddle][1],尝试点击包下的单选按钮。您假设在点击事件上编写代码。我还尝试通过调用方法来最小化你的代码,检查第 13 到 22 行。

     [1]: https://jsfiddle.net/2cr91vvq/3/
    

    【讨论】:

    • 我想我可以通过使用更多变量来缩短我的代码,但这实际上并没有回答我的问题。
    • 你检查过小提琴吗?还可以尝试单击我编写的单选按钮以显示警报。该代码向您展示了如何获取单选按钮单击事件。您可以通过 $(this).val() 获取值。祝你好运。
    • 我检查了我的代码并尝试了一些东西。我设法在表单底部显示了收音机的值。但现在我坚持将这些值加在一起。我认为使用复选框总和的基值 0 将有助于我可以将 0 或选中的值添加到单选值。检查我的小提琴:jsfiddle.net/mullern/2cr91vvq/5 我正在尝试将收音机和复选框的值分别放入一个 var 中,以便我可以将它们加在一起,但这似乎不起作用。
    • 我希望这个能解决你的问题:jsfiddle.net/2cr91vvq/6
    • 我快到了。我设法在 2 个不同的

      中显示这两个值,看看它是否有效。但现在我被困在如何将它们加在一起。我读到这样做的方法是使用全局变量。我不确定如何正确地做到这一点。它总是说未定义的变量,因为变量在函数中。如何使它们全局化以便我可以添加它们? jsfiddle.net/mullern/2cr91vvq/7

    猜你喜欢
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    相关资源
    最近更新 更多