Javascript 返回后未取消选中复选框

Javascript 返回后未取消选中复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有一个代码,我在其中使用了一些复选框,我在url中添加了带有哈希的复选框值,但当我返回或按“上一步”按钮时,url得到更改,但复选框保持选中状态。请按如下方式检查代码 <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> </head> <body> <script

我有一个代码,我在其中使用了一些复选框,我在url中添加了带有哈希的复选框值,但当我返回或按“上一步”按钮时,url得到更改,但复选框保持选中状态。请按如下方式检查代码

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
$checkboxes = $('input[type=checkbox]');
$checkboxes.change(function(){
    window.location.hash = 'check=' + $checkboxes.filter(':checked').map(function(){
        return this.value;   
    }).get().join(",");
    //console.log(window.location.hash);
}); });</script>

<input type="checkbox" name="check" value="one">one<br>
<input type="checkbox" name="check" value="two">two<br>
<input type="checkbox" name="check" value="one">three<br>
<input type="checkbox" name="check" value="two">four<br><input type="checkbox" name="check" value="one">five<br>
<input type="checkbox" name="check" value="two">six<br><input type="checkbox" name="check" value="one">seven<br>
<input type="checkbox" name="check" value="two">eight<br>
</body>
</html>

现在,当我选中一些复选框后单击“上一步”时,url会发生更改。但复选框仍然保持选中状态。当我选中一些复选框后,如何在返回后取消选中复选框…

这里您可以使用javascript/jQuery的hashchange功能

window.onhashchange = function () {//add you logic here to check difference in url alert(window.location.hash);};
或者可以使用jQuery的hashchange函数

$(window).on('hashchange', function() {
     alert(window.location.hash);
});

您可以使用上面的任何一个函数来获得对哈希URL的操作

这可能对您有用也许您可以在ready方法中取消选中pageload上的所有复选框@SiddharthPatel当我们在最后附加hash片段时,如果我们按back,那么pageload方法会被执行吗???读取window.location.hash的值,并使用逗号分隔的值检查hash值是否等同于当前选中的复选框,有一件事您可能必须传递特殊属性以及一、二、一,两个类似于索引1-1、2-3,这些数字是复选框的索引//在函数hashchange中编写代码,这样可以工作。让我知道,如果你想要一个完整的工作代码。这将是非常有帮助的,如果你可以写一个片段,我的复选框要求以上,因为我在js非常缺乏经验…请…请使用这个小提琴url复制代码和使用它。如果复选框的值不同/唯一,则会更简单。但您仍然可以获得如何实现的逻辑。我已经让你更容易understand@Franky-先生,我不想要数据索引属性。我错误地为复选框再次写了一个和两个值。实际上它是从一、二、三、四等顺序排列的…因此每个复选框的值都是唯一的…先生,请您最后一次根据HI操作它好吗!好了,现在检查一下,我已经更新了代码