我需要使复选框响应(在.HTML文件中),即在选中复选框时,页面的URL应该被修改并且页面应该被刷新。以下是我的代码,现在复选框正在修改url但是一旦刷新松散状态我也需要在uncheck上修改url。请帮助。
var $checkes = $('input:checkbox[name="ch"]').change(function () {
var vals = $checkes.filter(':checked').map(function () {
return this.value;
}).get();
var newurl = document.location.href;
for (k in vals) {
newurl = newurl + "+" + vals[k];
}
document.location.href = newurl;
var i = newurl.lastIndexOf('/');
var checkedOnes = newurl.substr(i + 1).split('+');
var len = checkedOnes.length;
for (var i = 2; i < len; i++) {
document.getElementById(checkedOnes[i]).checked = true;
}
});
答案 0 :(得分:0)
首先,它看起来不像你在设置任何查询字符串值(在URL末尾的问号之后的东西)
由于HTTP是无状态的,因此在页面重新加载后,您的复选框不会保留其状态。
如果您使用纯粹的前端技术,那么解决这个问题的方法是在页面加载时通过JavaScript设置复选框
您获得的代码var i
及其后代不应位于事件处理程序中。这似乎是您用来设置复选框以进行检查的代码,因此仅当复选框被更改时才会触发。但是,页面会在代码执行之前重新加载
我希望能稍微解决问题