Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单选按钮总数_Javascript_Jquery_Radio Button - Fatal编程技术网

Javascript 单选按钮总数

Javascript 单选按钮总数,javascript,jquery,radio-button,Javascript,Jquery,Radio Button,好的,我现在有一个表单,允许用户选择某些单选按钮,但是如果选择了某些单选按钮,那么其他人就不能 我已经建立了一个网站,这样你可以更容易地看到这一点。我知道代码看起来有点混乱 我遇到的问题是在表单的底部有一个不包括增值税的部分订单总额:它将单选按钮的总额相加。例如,如果您勾选左上角的单选按钮,即总计25英镑1年所有区块和单元15评估,则在“订单总计(不含增值税)”部分:总计框中显示25英镑。然后,如果您选中下面的单选按钮,即47.50英镑,则合计框显示为47.50英镑,这一切都可以。但是,如果用户

好的,我现在有一个表单,允许用户选择某些单选按钮,但是如果选择了某些单选按钮,那么其他人就不能

我已经建立了一个网站,这样你可以更容易地看到这一点。我知道代码看起来有点混乱

我遇到的问题是在表单的底部有一个不包括增值税的部分订单总额:它将单选按钮的总额相加。例如,如果您勾选左上角的单选按钮,即总计25英镑1年所有区块和单元15评估,则在“订单总计(不含增值税)”部分:总计框中显示25英镑。然后,如果您选中下面的单选按钮,即47.50英镑,则合计框显示为47.50英镑,这一切都可以。但是,如果用户改变主意,返回25英镑选项,则保留47.50英镑,并将25英镑添加到顶部,因此在应该是25英镑的时候显示72.50英镑。您可以看到单选按钮的价格是由data price=25设置的

所以我的问题是,看看代码,总数是否可能只加上选中的单选按钮

我认为这与缓存先前选择的内容有关,与此代码有关

$('input:radio').change(function(){
    var total = 0.0;
    $('input:radio:checked').each(function(){
        total += parseFloat($(this).data('price'));
    });
    $('#total').val(total.toFixed(2));
});

问题在于执行顺序

使用jQuery.on、jQuery.click和jQuery.change设置了三组事件处理程序。我不想猜测这些事件发生的顺序,很可能不同浏览器的顺序不同

因此,求和处理程序可以在其他处理程序之前运行,而这似乎就是正在发生的事情


为了安全起见,我会为所有单选按钮编写一个唯一的处理程序。内部分支以响应特定情况,然后最终运行求和循环。

我知道用户只能为每个关键阶段选择一个选项,因此您可以通过将每个关键阶段的所有单选按钮名称设置为相同来实现这一点。要控制选择哪个选项,请添加一个新属性,而不是使用“名称属性”。@o如果该部分正在工作,则是单选按钮的总和。它正在缓存它们我想是的,当选择一个新的时,它会添加它,只需要添加所选的单选按钮。我不是jQuery的最佳选择。你能帮我吗?