2016-02-05 66 views
-2

我有情况下,选择一个值在下拉我的面板id = abc应display.But我脸上异常“abc”不能从动物园被引用。 任何建议代码improvemnt .... 在此先感谢...我越来越脸异常“abc”不能从动物园被引用

<p:selectOneMenu id="zoo" value="#{cc.attrs.bean.test}" style="width:150px" label="#{hello.description}" 
      converter="testConverter"> 
       <p:ajax event="change" listener="#{cc.attrs.bean.onTest}" update="abc"/> 
       <f:selectItems value="#{cc.attrs.bean.sooo}" var="soh" itemLabel="#{soh.ex1}" itemValue="#{soh}"/> 
      </p:selectOneMenu> 

      <p:accordionPanel style="width:580px;" id="xyz"> 
    <p:tab title="Test for tab"id="hfg"> 
    <p:outputPanel style="width:525px;display:block" id="abc" > 
<ui:repeat id="foo" value="#{cc.attrs.bean.animal}" var="yyy"> 
<h:panelGroup rendered="#{!yyy.aaa}" id="ppp"> 
<h:outputText value="#{yyy.flower /> 
<p:selectOneMenu id="wooo" value="#{yyy.house}" label="#{yyy.car}" converter="yyyConverter"> 
<f:selectItem itemLabel="" itemValue="" /> 
<f:selectItems value="#{yyy.example}" var="sss" itemLabel="#{sss.p1}:#{sss.dp2}" itemValue="#{sss}"/> 
</p:selectOneMenu> 
</h:panelGroup> 
</ui:repeat> 

+0

我编辑了我的code.Now我得到一个问题,页面不刷新和加载所有数据从db – Rahul

回答

1

的问题是,你要更新的元素(P:outputPanel),它嵌入到另一个元素(p:tab)带有一个id,其中p:tab也嵌入到带有id的p:accordionPanel中。你必须指定一个像下面的更新属性中的所有家长IDS:

<p:selectOneMenu id="zoo" value="#{cc.attrs.bean.test}" style="width:150px" label="#{hello.description}" 
    converter="testConverter"> 
     <p:ajax event="change" listener="#{cc.attrs.bean.onTest}" update="xyz:hfg:abc"/> 
     <f:selectItems value="#{cc.attrs.bean.sooo}" var="soh" itemLabel="#{soh.ex1}" itemValue="#{soh}"/> 
    </p:selectOneMenu> 

    <p:accordionPanel style="width:580px;" id="xyz"> 
    <p:tab title="Test for tab" id="hfg"> 
    `enter code here` 
    <p:outputPanel style="width:525px;display:block" id="abc" >  
    </p:outputPanel> 
    </p:tab> 

你也应该把标题和你的P的识别之间的空间:与ID标签= HFG。

+1

正确答案! – Proverbio

+0

感谢您的答案。它工作的很好,但我更新的ID不会在选择下拉列表时刷新... – Rahul

+0

我看不到您的组件中嵌入id =“abc”的值。我认为你必须在那里输入你的代码。 – cdaiga