2013-06-04 142 views
0

我正在與<p:ajax>更新/填寫我的組件,但是當我在autoComplete中選擇對象時,ajax不會更新我的組件。Ajax更新不更新我的組件

我在下面的代碼:

<p:panel header="Actviter le Projet"> 
<!--############# Chercher le Projet #############--> 
    <div id="projetCompleteCenter" align="center"> 
    <h:outputLabel value="#{bundle.searchProject} " /> 
    <p:autoComplete id="autoCompleteProjet" forceSelection="true" 
    minQueryLength="3" value="#{projetMB.projet}" 
     completeMethod="#{projetMB.completeProjet}" var="projet" 
     itemLabel="#{projetMB.projet.nomProjet}" dropdown="true" > 
    <p:ajax update="nomProjet nombreHeure dateDemarrage typeProjet" /> 
</p:autoComplete> 
</div> 

<p:separator /> 

<!--############# Donées du Projet #############--> 
<div id="idPanel"> 
     <h:panelGrid columns="2"> 

    <p:outputLabel for="nomProjet" value="#{bundle.nomProjet} " /> 
         <p:inputText id="nomProjet" value="#{projetMB.projet.nomProjet}" 
          required="true"> 
          <f:validateLength minimum="3" /> 
         </p:inputText> 

         <p:outputLabel for="nombreHeure" 
          value="#{bundle.nombreHeuresProjet} " /> 
         <p:inputText id="nombreHeure" 
          value="#{projetMB.projet.nbHeuresProjet}" required="true"> 
          <pe:keyFilter mask="num" for="nombreHeure" /> 
         </p:inputText> 

         <h:outputLabel for="dateDemarrage" 
          value="#{bundle.dateDemarrageProjet} " /> 
         <p:calendar id="dateDemarrage" 
          value="#{projetMB.projet.dateDebutProjet}" required="true" 
          pattern="dd/MM/yyyy" showOn="button" navigator="true"/> 

         <h:outputLabel for="typeProjet" value="Type du projet: " /> 
         <h:selectOneListbox id="typeProjet" 
          value="#{projetMB.projet.type}"> 
          <f:selectItems value="#{projetMB.typeProjetList}" var="pr" 
           itemLabel="#{pr.typeLabel}" itemValue="#{pr.typeValue}" /> 
         </h:selectOneListbox> 

        </h:panelGrid> 
       </div> 

有什麼不對?

謝謝!

+0

我認爲你有'更新= 「nomProjet nombreHeure dateDemarrage typeProjet」'id錯誤。 –

+0

** projetMB **和**捆綁包**的範圍是什麼? –

+0

@RongNK怎麼了?請參閱:[Primefaces論壇](http://forum.primefaces.org/viewtopic.php?f=3&t=400) – Andriel

回答

1

由於UIInputs的默認事件是valueChange事件,我認爲你的問題是,你沒有指定p:ajax的事件屬性。在showcase他們明確地指定它,所以我認爲p:autoComplete的默認事件實際上是「itemSelect」 - 事件。所以,你必須指定 「itemSelect」 -event明確:

<p:ajax event="itemSelect" update="nomProjet nombreHeure dateDemarrage typeProjet" /> 
+0

謝謝!是工作! :) – Andriel