Ajax更新导致javascript创建的元素在Primefaces中丢失
在我的Ajax更新导致javascript创建的元素在Primefaces中丢失,javascript,jquery,ajax,jsf,primefaces,Javascript,Jquery,Ajax,Jsf,Primefaces,在我的.xhtml表单中有一个元素,我通过javascript将html元素添加到该元素中 当我触发一个ajax命令按钮时,这些附加元素将丢失 我试图从我的ajax更新中排除此元素,并使我的提交部分(遵循此实践),但徒劳的是,新添加的元素在更新发生后丢失 有没有办法避免这种情况?提前感谢:) 代码示例: <h:form id="formID"> <p:commandButton value="ajax_button" partialSubmit="
.xhtml
表单中有一个元素,我通过javascript将html元素添加到该元素中
当我触发一个ajax命令按钮时,这些附加元素将丢失
我试图从我的ajax更新中排除此元素,并使我的提交部分(遵循此实践),但徒劳的是,新添加的元素在更新发生后丢失
有没有办法避免这种情况?提前感谢:)
代码示例:
<h:form id="formID">
<p:commandButton
value="ajax_button" partialSubmit="true"
update="@(#divOfElement :not(.notupdate))"
ajax="true">
<f:actionListener binding="#{myBean.myAction()}"/>
</p:commandButton>
</h:form>
<p:outputPanel id="divOfElement">
<!-- other things i want to be updated-->
<p:outputPanel id="panel_not_to_update"styleClass="notupdate">
<!-- this div is filled with other elements from javascript code which will be destroyed when the ajax update takes place -->
</p:outputPanel>
</p:outputPanel>
在这里,我希望通过ajax调用中的命令按钮更新divOfElement
,但排除id为的div面板\u not \u to \u update
,这样通过javascript代码添加的子元素就不会丢失
我使用的是JSF 2.2和Primefaces 7.0。可能是重复的。我按照这种做法,通过命令按钮将我的组件排除在更新之外,但是从javascript创建的元素仍然丢失,正如您在我的代码示例中看到的一样,它是重复的;-)您的选择器错误。。。仔细比较你的参考文章(注意空格!),下次请将你在前面尝试/使用过的内容按照。。。Cheerreswell似乎not
选择器不起作用,因为我尝试了许多不同的ID,它对每一个ID都有效,但是类为notupdate
的组件从未被排除在更新之外,也许这是Primefaces的问题?看看ajax响应。。。我100%确信只有#divOfElement
被更新。。。您的选择器错误。。。它应该包含一个空格。。如副本所示