0

因此,在 page1.html 上,我跟踪单击的复选框:

var checked = [];
$('input[type=checkbox]').on("click", function() {
    if($(this).is(":checked")) {
     checked.push($(this).val());
    }
}

最终,用户可以单击提交按钮,将他们带到 page2.html。因此,如果我选中了“Apple”、“Bannana”复选框,则下一页将知道 Apple 和 Banana 已选中。但是,当用户单击后退按钮时...

在页面本身上,它显示“Apple”和“Banana”被选中......但是当用户选中“Peach”......看起来选中的数组只包含“Peach”而不是“Apple”和“Banana” ”。是否有一些语法可以用来跟踪“Apple”和“Banana”,这样当用户点击后退按钮并检查“Peach”时,“checked”数组可能包含“Apple”“Banana”和“Peach”?

4

1 回答 1

0

不是您提到的行为的浏览器的忠实粉丝,但您可能还想考虑在页面加载时检查每个复选框的状态,例如

$(function() {
  var checked = [];

  function addToChecked() {
    if ($(this).is(":checked")) {
      checked.push($(this).val());
    }
  }

  $("input:checkbox")
      .each(addToChecked)
      .on("click", addToChecked);
});

请注意,此代码意味着值只能添加到checked. 如果未选中相应的复选框,则必须添加逻辑以删除值。

于 2013-06-20T22:02:21.730 回答