程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了SelectOneMenu的Primefaces Mobile Ajax更新失败大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决SELEctOneMenu的Primefaces Mobile Ajax更新失败?

开发过程中遇到SELEctOneMenu的Primefaces Mobile Ajax更新失败的问题如何解决?下面主要结合日常开发的经验,给出你关于SELEctOneMenu的Primefaces Mobile Ajax更新失败的解决方法建议,希望对你解决SELEctOneMenu的Primefaces Mobile Ajax更新失败有所启发或帮助;

这是与PrimeFaces移动版关联的JavaScript中的错误。它没有虑到移动渲染器会插入其他Js,然后在DOM中将下拉列表的HTML表示重新定位到其他位置(可以通过检查原始HTML输出(浏览器中的“查看源代码”)与实际的HTMLDOM树(浏览器中的“检查元素”)。

Chrome控制台中显示的确切JavaScript错误如下:

(我希望您将它作为学习提示,始终检查浏览器的控制台以获取线索)

最好的选择是将此错误报告给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"到组件时才有效。

解决方法

我想使用Primefaces 5.2创建一个移动表单,其中一个SELEctOneMenu结果SELEctOneMenu通过Ajax
更新第二个,就像这里的展示示例一样:http
:
//www.primefaces.org/showcase/ui/ajax/dropdown.xhtml,然后是移动版本。

我创建了一个JSF页面和BACkingbean 正是 像展示例子,它的工作原理。

但是,当我使用<f:view renderKitId="PRIMEFACES_MOBILE"/>第二个SELEctOneMenu元素添加移动外观时,更新后将其呈现为纯色,并显示永久旋转器。

...
<f:view renderKitId="PRIMEFACES_MOBILE" />
...
<h:body>
<h:form>
    <p:growl id="msgs" showDetail="true" />

    <p:panel header="SELEct a LOCATIOn" style="margin-bottom:10px;">
        <h:panelGrid columns="2" celLPADding="5">
            <p:outputLabel for="country" value="Country: " />
            <p:SELEctOneMenu id="country" value="#{dropdownView.country}" style="width:150px">
                <p:ajax listener="#{dropdownView.onCountryChangE}" update="city" />
                <f:SELEctItem itemLabel="SELEct Country" itemValue="" noSELEctionOption="true" />
                <f:SELEctItems value="#{dropdownView.countries}" />
            </p:SELEctOneMenu>

            <p:outputLabel for="city" value="City: " />
            <p:SELEctOneMenu id="city" value="#{dropdownView.city}" style="width:150px">
                <f:SELEctItem itemLabel="SELEct City" itemValue="" noSELEctionOption="true" />
                <f:SELEctItems value="#{dropdownView.cities}" />
            </p:SELEctOneMenu>

            <p:outputLabel for="debug" value="Debug: " />
            <p:inputText id="debug" value="#{dropdownView.debug}"/>
        </h:panelGrid>
...

Ajax调用的作品,当我更新的目标是debug我的inputText更新,但是当我的更新目标citySELEctOneMenu不是。

这是一个错误吗?我在滥用移动方面吗?对此文档似乎很匮乏。

编辑

inputText不包括在源极,进行校正。

大佬总结

以上是大佬教程为你收集整理的SelectOneMenu的Primefaces Mobile Ajax更新失败全部内容,希望文章能够帮你解决SelectOneMenu的Primefaces Mobile Ajax更新失败所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: