我正在使用jQuery MultiSelect Widget。使用IE时,如果我从基本下拉列表中选择3个选项,浏览到另一个页面,然后按浏览器后退按钮,这些值将保留在下拉列表中。如果我刷新页面,则仍保留值。强制刷新会清除值。
在Chrome中,如果我做同样的事情,则不会保留这些值。
使用我的网站(遗憾的是,无法通过互联网访问),在IE8中,复选框的选中状态似乎在视觉上保留,但未选中复选框的状态。
我尝试调用'uncheckAll'方法,但仍然会选中复选框。我在我的代码中发出警告以显示所选选项的数量,即使选中了复选框,该值也为零。
IE如何保留多选列表的状态并且可以防止它?
答案 0 :(得分:0)
调用multiselect插件的unchekAll()方法似乎是最简单的方法。由于我无法看到您的代码,也许您没有以正确的方式调用它:
$("select").multiselect("uncheckAll");
但是现在,在哪里调用这种方法?
对于跨浏览器的一致性,我认为正确的方法是使用onbeforeunload处理程序,这是我所知道的在所有浏览器中触发的。因此,此代码段应该适用于所有情况:
window.onbeforeunload = function(){$("select").multiselect("uncheckAll")};
如果这可以解决您的问题,请告诉我?
答案 1 :(得分:0)
在绑定窗口小部件之前尝试解除绑定。在附加之前取消绑定事件附件是一个好习惯,以避免上述任何问题。
尝试
$("select").unbind();
然后附上多选。 jquery-unbind()off()都使用适合你的jquery版本的那个。我想你也会在mozilla中遇到同样的问题。