我有一个代码,我在点击它们时使用一些复选框我在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会被更改。但复选框仍然保持选中状态。如果我选中了一些复选框,我可以在返回后取消选中复选框...
答案 0 :(得分:0)
在这里你可以使用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进行操作。