这是与PrimeFaces移动版关联的Javascript中的错误。它没有考虑到移动渲染器会插入其他JS,然后在DOM中将下拉列表的HTML表示重新定位到其他位置(可以通过检查原始HTML输出(浏览器中的“查看源代码”)与实际的HTMLDOM树(浏览器中的“检查元素”)。
Chrome控制台中显示的确切Javascript错误如下:
未发现NotFoundError:无法在“节点”上执行“ replaceChild”:要替换的节点不是该节点的子节点。
(我希望您将它作为学习提示,始终检查浏览器的控制台以获取线索)
最好的选择是将此错误报告给PrimeFaces家伙。
同时,解决方法是将其包装在另一个(普通)元素中并进行更新。
<p:selectoneMenu ...> ... <p:ajax ... update="cityWrapper" /></p:selectOneMenu><h:panelGroup id="cityWrapper"> <p:selectoneMenu id="city" ...> ... </p:selectOneMenu></h:panelGroup>
与 具体问题 无关
:
noSelectionOption="true"仅在添加
hideNoSelectionOption="true"到组件时才有效。



