2016-06-19 1 views
0

のactionListenerまたはcommandButtonの中のアクションはあなたのすべてにAJAXのターゲットの使用

<f:view> 
 
      <p:dialog widgetVar="dlg" header=" Enregistrer une nouvel nouvelle Structure d'attache " hideEffect="explode" showEffect="explode" modal="true"> 
 
       <h:form id="formAjouter" > 
 
        <p:panelGrid id="panelAjouter" columns="2"> 
 
           <p:outputLabel value="Département:" />  
 
           <p:selectOneMenu id="depart" value="#{structureBean.idDepartement}" label="programme" filter="true" filterMatchMode="startsWith" panelStyle="width:220px"> 
 
            <f:selectItem itemLabel="Selectioner le département" itemValue="" noSelectionOption="true" /> 
 
            <f:selectItems var="custe1" value="#{structureBean.listDepartement}" itemLabel="#{custe1.intituleDepartement}" itemValue="#{custe1.id}" itemLabelEscaped="true" /> 
 
            <p:ajax listener="#{structureBean.changeListArr()}" event="change" process="@form" update="arrond"/> 
 
           </p:selectOneMenu> 
 
           <p:outputLabel value="Arrondissement:" />  
 
           <p:selectOneMenu id="arrond" value="#{structureBean.idArrondissement}" label="programme" filter="true" filterMatchMode="startsWith" panelStyle="width:220px"> 
 
            <f:selectItems var="custe2" value="#{structureBean.listArrondissement}" itemLabel="#{custe2.intituleArrondissement}" itemValue="#{custe2.id}" itemLabelEscaped="true" /> 
 
           </p:selectOneMenu> 
 
           <p:outputLabel value="Categorie de Structure:" />  
 
           <p:selectOneMenu value="#{structureBean.idCategorieStructure}" label="programme" filter="true" filterMatchMode="startsWith" panelStyle="width:220px"> 
 
            <f:selectItems var="custe3" value="#{structureBean.listCategorieStructure}" itemLabel="#{custe3.intituleCategorieStructure}" itemValue="#{custe3.id}" itemLabelEscaped="true" /> 
 
           </p:selectOneMenu> 
 
           <p:outputLabel value="Intitule :" for="intitule" /> 
 
           <p:inputText id="intitule" value="#{structureBean.structureAttache.intituleStructure}" title="intitulé" /> 
 
           <p:outputLabel value="Code/Abréviation :" for="abrev" /> 
 
           <p:inputText id="abrev" value="#{structureBean.structureAttache.codeStructure}" title="abrev"/> 
 
           <h:inputHidden id="number" value="#{structureBean.structureAttache.id}" /> 
 
           <p:commandButton value="Enregistrer" action="#{structureBean.createStructure()}" oncomplete="PF('dlg').hide()" update=":tableForm:table" id="bout" /> 
 
        </p:panelGrid>

HI後に動作しません長い間、ブレーンストーミングをしてきた、ここに私の問題があります。 commandButton内のactionListenerまたはactionは、ajaxターゲットの使用後は機能しません。アクションリスナーで呼び出されたメソッドが起動されていないことを意味する問題はありません。実際に私は2つの "oneMenu"を使用しています。第2のものは最初に選択された選択に従って作成されていますが、フォームを検証するcommandButtonがありますが、ボタンをクリックすると何も起こりません。 PrimefacesのWebサイトでこのやり方を見つけました。私は成功のない多くのオプションをテストしました

答えて

0

考えられる原因を減らすためにコードを段階的に最小限に抑えてください。たとえば、...

<p:panelGrid id="panelAjouter" columns="2"> 
           <p:outputLabel value="Département:" />  
           <p:selectOneMenu id="depart" value="#{structureBean.idDepartement}" label="programme" filter="true" filterMatchMode="startsWith" panelStyle="width:220px"> 
            <f:selectItem itemLabel="Selectioner le département" itemValue="" noSelectionOption="true" /> 
            <f:selectItems var="custe1" value="#{structureBean.listDepartement}" itemLabel="#{custe1.intituleDepartement}" itemValue="#{custe1.id}" itemLabelEscaped="true" /> 
            <p:ajax listener="#{structureBean.changeListArr()}" event="change" process="@form" update="arrond"/> 
           </p:selectOneMenu> 
           <!--p:outputLabel value="Arrondissement:" />  
           <p:selectOneMenu id="arrond" value="#{structureBean.idArrondissement}" label="programme" filter="true" filterMatchMode="startsWith" panelStyle="width:220px"> 
            <f:selectItems var="custe2" value="#{structureBean.listArrondissement}" itemLabel="#{custe2.intituleArrondissement}" itemValue="#{custe2.id}" itemLabelEscaped="true" /> 
           </p:selectOneMenu> 
           <p:outputLabel value="Categorie de Structure:" />  
           <p:selectOneMenu value="#{structureBean.idCategorieStructure}" label="programme" filter="true" filterMatchMode="startsWith" panelStyle="width:220px"> 
            <f:selectItems var="custe3" value="#{structureBean.listCategorieStructure}" itemLabel="#{custe3.intituleCategorieStructure}" itemValue="#{custe3.id}" itemLabelEscaped="true" /> 
           </p:selectOneMenu> 
           <p:outputLabel value="Intitule :" for="intitule" /> 
           <p:inputText id="intitule" value="#{structureBean.structureAttache.intituleStructure}" title="intitulé" /> 
           <p:outputLabel value="Code/Abréviation :" for="abrev" /> 
           <p:inputText id="abrev" value="#{structureBean.structureAttache.codeStructure}" title="abrev"/> 
           <h:inputHidden id="number" value="#{structureBean.structureAttache.id}" /> 
           <p:commandButton value="Enregistrer" action="#{structureBean.createStructure()}" oncomplete="PF('dlg').hide()" update=":tableForm:table" id="bout" /--> 
        </p:panelGrid> 
+0

あなたのような次に進む前に、あなたのselectOneMenuの少なくとも一方が動作していることを確認してください私は、Ajaxせずに同じコードをテストし、それが働いていたが、私の第二oneMenuは、すべてが取り込まれ「区画」の表の項目wheras最初のoneMenuで選択した項目に応じて選択した要素だけを希望します – vvs

+0

また、エラーがないためアクションリスナーが起動されていないように見えます私のIDE(netbeans)で – vvs

関連する問題