我一直在尝试根据选中和未选中框的值从隐藏的表单字段中添加和减去并更新屏幕文本。我已经能够成功地添加所有选中的复选框值并使用 .each 更新隐藏的输入字段。但是,我有很多时间从总数中减去值。
我似乎无法避免的问题是减去第一个选中框的值,而不是我实际上取消选中的框。我试图通过 id 引用该框,但这似乎没有帮助。
$(document).on("click", ".activities .checkbox-select", function(event){
//event.preventDefault();
$(this).parent().addClass("selected");
//Checks the checkbox
$(this).parent().find(":checkbox").prop('checked', true);
var total = parseFloat($("#basePoints").val());
$(':checkbox:checked.activity').each(function() {
var activtyValues = 0;
activtyValues = parseFloat(this.value);
total += activtyValues;
//Update the screen value
$("#calulatedpoint").text(total);
//Update the hidden value
$("#calulatedPointsHidden").val(total);
});
});
$(document).on("click", ".activities .checkbox-deselect", function(event){
//Get the checkbox id
var id = $(this).attr('id');
//event.preventDefault();
$(this).parent().removeClass("selected");
var total = $("#calulatedPointsHidden").val();
checkedValue = $("input[@id="+id+"]:checked").val(); //It's finding the first checked checkbox value and subtracting that
total -= checkedValue;
//Update the screen value
$("#calulatedpoint").text(total);
//Update the hidden value
$("#calulatedPointsHidden").val(total);
//Unchecks the checkbox
$(this).parent().find(":checkbox").removeAttr("checked");
});
任何解决我的减法问题的帮助将不胜感激。改进我的加法部分的提示也会很棒。谢谢。