JavaScript-有多个复选框,但在更新美元值时只能选择一个复选框
这就是我在做的事情上遇到的困难 我希望能够显示4个复选框彼此相邻,同时一次只能选择一个复选框。选中一个复选框时,我希望将该值添加到来自另一部分复选框的总和中 我整晚(6个小时)都在为此奋斗,在我的尝试中不断前进和后退 HTMLJavaScript-有多个复选框,但在更新美元值时只能选择一个复选框,javascript,html,css,Javascript,Html,Css,这就是我在做的事情上遇到的困难 我希望能够显示4个复选框彼此相邻,同时一次只能选择一个复选框。选中一个复选框时,我希望将该值添加到来自另一部分复选框的总和中 我整晚(6个小时)都在为此奋斗,在我的尝试中不断前进和后退 HTML Checkboxes test 1: <input type="checkbox" class="sum checkbox" value="1" /> <input type="checkbox" class="sum checkbox" val
Checkboxes test 1:
<input type="checkbox" class="sum checkbox" value="1" />
<input type="checkbox" class="sum checkbox" value="2" />
<input type="checkbox" class="sum checkbox" value="3" />
<input type="checkbox" class="sum checkbox" value="4" />
<input type="checkbox" class="sum checkbox" value="5" />
<section id="extra-features">
<label class="header">How often?</label><br><br>
<div class="span3">
<label class="checkbox" for="Checkbox1">
<input value="50" type="checkbox" class="sum checkbox" data-toggle="checkbox"> Daily
</label>
<label class="checkbox">
<input value="50" type="checkbox" class="sum checkbox" data-toggle="checkbox"> 3 times a week
</label>
<label class="checkbox">
<input value="50" type="checkbox" class="sum checkbox" data-toggle="checkbox"> Once a week
</label>
<label class="checkbox">
<input value="50" type="checkbox" class="sum checkbox" data-toggle="checkbox"> Custom
</label>
</div>
</section>
<div class="card-charge-info">
Total per mo. $<span id="payment-total">0</span>
</div>
复选框测试1:
多久一次?
每日的
一周三次
一周一次
习俗
每个月总计$0
在上面我混合在一起的HTML代码中,我有一部分复选框,它使用一个JS脚本(在这个块之后发布),以便在选中另一个复选框时取消选中该复选框。这些框中还有添加到“总和”中的值,但出现的问题是:
单击已选中的框时,该值将从总和中减去。如果我单击另一个框,并且JS脚本未选中第一个框,则不会从总总和中减去该值,而是未选中框本身
“复选框测试”下的代码是另一个复选框块,我也无法应用取消选中的想法。不管怎样,不减去总和的问题肯定会很普遍
JS
$('.checkbox').click(function() {
$(this).siblings('input:checkbox').prop('checked', false);
});
var inputs = document.getElementsByClassName('sum'),
total = document.getElementById('payment-total');
for (var i=0; i < inputs.length; i++) {
inputs[i].onchange = function() {
var add = this.value * (this.checked ? 1 : -1);
total.innerHTML = parseFloat(total.innerHTML) + add
}
}
$('.checkbox')。单击(函数(){
$(this).sides('input:checkbox').prop('checked',false);
});
var inputs=document.getElementsByClassName('sum'),
总计=document.getElementById('payment-total');
对于(变量i=0;i
您真正想要的是一个单选按钮,它只允许选择组中的一个。完成此操作后,为radiobutton指定一个值,该值将在提交表单时返回。然后根据您的意愿使用此值。如果没有您的代码、HTML和JavaScript,您认为我们可以提供什么帮助?我对这个问题没有异议,只是没有代码我们无能为力。我很感谢你的评论,因为我现在无法发布我的代码,我觉得如果有人有一个大概的想法,这是可能的,它仍然是有用的。(我肯定是的,但还没有找到任何东西)。让我看看我的笔记本电脑是否收费,然后我可以发布一个JSFIDLE。记住,JS FIDLE是一种奖励,问题中还必须存在相关的“”代码,以便我们重现您的问题。另外,可能值得一看“”页面,看看我们对一个好问题的期望(问题的定义、问题的代码、什么起作用/不起作用的描述、您的期望以及可能发生的任何错误消息)。感谢您的洞察力,David。我刚刚用我觉得足够的东西更新了我的帖子。有没有一种方法可以在不提交的情况下更新总和?你可以使用angular js,但我认为这可能超出了问题的范围。查找ng-model。如果您在输入单选按钮内指定ng模型,它应该可以工作。下面是一个例子:。请阅读该页面上的radiobutton示例,我认为它符合您的要求。谢谢您的想法,Jordan。我看了一会儿,很好奇你是否能马上知道。。。我能把多组的文本框组合起来并计算出一个总数吗?你当然可以这样做,只要确保你给每个文本框分配了一个值,你就可以开始了。