Javascript 如何将span中减去的值保存到cookie,直到复选框未选中为止

Javascript 如何将span中减去的值保存到cookie,直到复选框未选中为止,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一段代码,它在跨度内包含一些数值,但当你点击复选框时,它从主值中减去1,基本上从总值中减去1,如何实现这一点,即使表单提交,除非复选框未选中,否则跨度中的扣除值保持不变 HTML在这里以10作为示例值: <input type="checkbox" id="featured" name="featured" <?php echo $checked;?> /> (<span id="credit">10</span>) $(函数(){ $(“

我有一段代码,它在跨度内包含一些数值,但当你点击复选框时,它从主值中减去1,基本上从总值中减去1,如何实现这一点,即使表单提交,除非复选框未选中,否则跨度中的扣除值保持不变

HTML在这里以10作为示例值:

<input type="checkbox" id="featured" name="featured" <?php echo $checked;?> /> (<span id="credit">10</span>)

$(函数(){
$(“#特色”)。更改(功能(){
var savedValue=localStorage.checkboxValue;
var currentValue=savedValue?parseInt(savedValue):parseInt($('#credit').text());
var newValue=currentValue+($(this).prop('checked')?-1:1);
$(“#学分”).text(newValue);
localStorage.checkboxValue=newValue;
});
});

$(函数(){
$(“#特色”)。更改(功能(){
var savedValue=localStorage.checkboxValue;
var currentValue=savedValue?parseInt(savedValue):parseInt($('#credit').text());
var newValue=currentValue+($(this).prop('checked')?-1:1);
$(“#学分”).text(newValue);
localStorage.checkboxValue=newValue;
});
});

“基本上,它从总数中减去1,如何实现这一点,即使提交表单,除非复选框未选中,否则span中扣除的值保持不变?”。。。什么?现在的默认值是10,对吗?现在发生的事情是,当我选中复选框时,值确实变为9,但在提交表单时,复选框保持选中状态,但默认值10会再次变回10,当我取消选中复选框时,它会变为11,然后需要使用PHP将剩余值注入span,对吗?或者我遗漏了什么?即使在表单提交后,我想要的是检查时为9的值仍然是9,直到复选框被清除“基本上,它从总数中减去1,如何实现这一点,即使表单提交,除非复选框被取消选中,否则跨度中扣除的值仍然是相同的?”。。。什么?现在的默认值是10,对吗?现在发生的事情是,当我选中复选框时,值确实变为9,但在提交表单时,复选框保持选中状态,但默认值10会再次变回10,当我取消选中复选框时,它会变为11,然后需要使用PHP将剩余值注入span,对吗?或者我遗漏了什么?我想要的是,即使在表单提交后,检查时的值为9,直到复选框被清除为止。在提交表单后,似乎不起作用。值返回到10,当取消选中复选框时,它现在变为91:DYeah,我根本没有测试该代码,或者真的尝试调整您的逻辑。其想法是将复选框值保存到本地存储。在代码开始时,检查本地存储中是否存在该值。如果是,则使用它;如果不是,则使用默认值。最后保存新值。编辑:我没有在SavedValue上使用parseInt。提交表单后,该值似乎不起作用。值返回到10,当取消选中该框时,它现在变成91:DYeah。我根本没有测试该代码,也没有尝试调整逻辑。其想法是将复选框值保存到本地存储。在代码开始时,检查本地存储中是否存在该值。如果是,则使用它;如果不是,则使用默认值。最后保存新值。编辑:我没有在savedValue上使用parseInt
<script>
$(function () {
  $('#featured').change(function () {
    var currentValue = parseInt($('#credit').text());
    var newValue = currentValue + ($(this).prop('checked') ? -1 : 1);
    $('#credit').text(newValue);
  });
});
</script>
<script>
$(function () {
  $('#featured').change(function () {
    var savedValue = localStorage.checkboxValue;
    var currentValue = savedValue ? parseInt(savedValue) : parseInt($('#credit').text());
    var newValue = currentValue + ($(this).prop('checked') ? -1 : 1);
    $('#credit').text(newValue);
    localStorage.checkboxValue = newValue;
  });
});
</script>