2016-05-10 3 views
-1

Dies ist meine derzeitige Struktur für meine p: selectOneMenu:f: selectItems in ap: selectOneMenu auslösen nicht den Setter für das Feld ein

<h:form id="groupSelectionForm"> 
    <p:outputLabel value="Momentane Gruppe:" for="groupSelection" /> 

    <p:selectOneMenu id="groupSelection" value="#{foodPlanManagementBean.selectedGroup}" style="width:150px"> 
     <f:selectItem itemLabel="-" itemValue="#{null}"/> 
     <f:selectItems value="#{foodPlanManagementBean.getGroups()}" var="group" itemLabel="#{group.name}" itemValue="#{group}"/> 
     <p:ajax event="change"/> 
    </p:selectOneMenu> 
</h:form> 

Dies führt zu einer Checkbox einen Standardwert durch den einzelnen gegeben enthalten selectItem sowie einige generierte Optionen aus den selectItems.

Der Setter für das angegebene Feld "selectedGroup" löst jedoch nur für das selectItem aus.

Die selectItems scheinen nichts zu tun, wenn sie angeklickt werden.

Irgendwelche Ideen?

+0

Ihre Frage ist mehrdeutig und in ihrem aktuellen Zustand ein Duplikat von http://StackOverflow.com/Q/2118656 Zunächst sehen Sie alle Konvertierungs-/Validierungsfehler, wenn Sie ''? – BalusC

Antwort

0

versuchen, einen Hörer in ajax Komponente, ex zu definieren:

<p:ajax id="seasonAjax" event="change" process="@this" listener="#{yourBean.yourMethod}" update="elementThatYouWantToUpdate" /> 

process = Dieses ausgewählte Element zu verarbeiten.

In selectItems nicht get-Methode Gebrauch verwenden, um direkt Elemente Liste (put erhalten/set in Ihrem Bean) ex:

<f:selectItems value="#{yourBean.yourList}" var="" itemLabel="" itemValue="" /> 

Wenn dieser Test nicht funktioniert, wenn Sie einen Konverter verwenden müssen, wenn SelectedGroup ist ein komplexes Objekt oder pass direkte Identifikation von selectGroup (selectedGroup.id)

Ich hoffe es hilft.

+0

Danke, das hilft schon etwas. Zumindest kann ich nun meinen POST in der Chrome-Konsole sehen und auch den richtigen Wert senden, aber in der Methode, die ich dem Listener hinzugefügt habe, passiert nichts. Irgendeine Idee was das sein könnte? – Sossenbinder

+0

haben Sie in Ihrer Backing Bean richtig geschrieben (selectedGroup)? SelectGroup ist ein komplexes Objekt? oder ist eine ID? versuche, nur ID zu übergeben, wenn es ein komplexes Objekt ist. – ZaoTaoBao

Verwandte Themen