我正在使用包含 HTML 多选框的 Apache Velocity Macro (*.vm) 模板文件。该选择框的值由返回 ArrayList 的 Java 函数填充。
速度代码循环遍历此字符串 ArrayList 中的值,并生成渲染时可选择的元素。
呈现的 HTML 由 JavaScript fancybox 弹出窗口显示,用户可以选择上述 Java 函数返回的任何/所有值。
第一次出现弹出窗口时,整个操作完美运行。用户从多选框中选择一堆值并关闭弹出窗口后,我可以使用 jQuery(#selectbox).val() 并毫无问题地访问用户选择的值。
但是,如果用户第二次重新打开弹出窗口并选择一组不同的值并关闭弹出窗口,则 jQuery(#selectbox).val() 将返回第一次选择的值!除非我刷新浏览器中的网页,否则此行为将继续。
所以我的问题是:有人知道是什么导致了这种行为吗?有什么方法可以停止记住以前选择的值吗?
如果相关的话,我在 OSx 10.6.4、Apache Tomcat 6、Java 6 上使用 Safari 5。
最佳答案
您的 fancybox 弹出调用可能会创建一个具有 id #selectbox 的新 dom 元素,而不是使用页面中已呈现的元素。检查页面中呈现的元素以查看是否属于这种情况。
关于java - 即使我没有编写要记住的代码,多选框中的选定值也会在第二次加载弹出窗口时被记住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14179074/