【发布时间】:2023-04-11 08:20:01
【问题描述】:
好的,我现在有一个表单,可以让用户选择某些单选按钮,但如果选择了某些单选按钮,那么其他人不能。
我已经设置了JSFIDDLE,这样您就可以更轻松地看到这一点。我知道代码可能看起来有点乱。
我遇到的问题是在表单的底部有一个部分Order Total (excluding VAT):,它将单选按钮的总数加起来。问题是,例如,如果您选中左上角的单选按钮(25 英镑第 1 年所有块和单元(总共 15 个评估))然后在Order Total (excluding VAT): 部分,它在总框中显示 25 英镑。然后,如果您选中下面的单选按钮,即为 47.50 英镑,则总框显示为 47.50 英镑,这很好。但是然后说用户改变主意并返回 25 英镑的选项,它保留 47.50 英镑并在顶部添加 25 英镑,所以它说 72.50 英镑,而它应该只是 25 英镑。你可以看到单选按钮的价格是由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));
});
【问题讨论】:
-
我知道用户只能为每个“关键阶段”选择一个选项,因此您可以通过将每个关键阶段的所有单选按钮名称设置为相同来做到这一点。并且为了控制选择哪个选项,添加一个新属性而不是使用 name 属性。
-
@ocanal 那部分正在工作,它是单选按钮的总和。 It is caching them I think so when a new one is selected it adds it on it only needs to add the radio buttons which are selected.
标签: javascript jquery radio-button