我正在使用jQuery 多选小部件 http://www.erichynds.com/examples/jquery-ui-multiselect-widget/demos/#basic。使用 IE 时,如果我从基本下拉列表中选择 3 个选项,浏览到另一个页面,然后按浏览器后退按钮,这些值将保留在下拉列表中。如果我刷新页面,这些值仍然保留。强制刷新会清除值。
在 Chrome 中,如果我做同样的事情,这些值不会保留。
对于我的网站(不幸的是还无法通过互联网访问),在 IE8 中,复选框的选中状态似乎在视觉上保留,但复选框的状态是未选中的。
我尝试调用“uncheckAll”方法,但复选框仍处于选中状态。我在代码中添加了一个警报来显示所选选项的数量,即使选中了复选框,该值也为零。
IE 是如何保留多选列表的状态的?可以防止这种情况发生吗?
调用多选插件的 uncchekAll() 方法似乎是最简单的方法。由于我看不到您的代码,也许您没有以正确的方式调用它:
$("select").multiselect("uncheckAll");
但现在,在哪里调用这个方法呢?
为了跨浏览器的一致性,我认为正确的方法是使用 onbeforeunload 处理程序,据我所知,该处理程序在所有浏览器中都会触发。所以,这个片段应该在所有情况下都有效:
window.onbeforeunload = function(){$("select").multiselect("uncheckAll")};
让我知道这是否可以解决您的问题?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)