AJAX - Problem

internet

Top Contributor
Hallo,
ich würde gerne folgendes mit AJAX machen:

Wenn ich ein Element aus einer Select-List auswähle, soll untendran eine weitere Select List erscheinen und wenn das ausgewählt wurde, soll noch einmal eine Select List erscheinen..

Bsp:
Man wählt erst das Land aus ---> dann wird gefiltert welche Bundesländer in Frage kommen --->
dann wird gefiltert welche Städte in Frage kommen.

Kann mir bitte jemand dabei helfen.
 

Luu

Aktives Mitglied
Java:
<h:selectOneMenu ....>
<p:ajax event="onchange" actionListener="#{bean.selectionChanged}" update="panel1"/>
</h:selectOneMenu>

public selectionChanged(ActionEvent ev){
 // SelectItems fuer zweite Combo erzeugen
 ...
 // Gebundenes outputPanel true setzen und rerendern
 panel1.setRendered(true);
}

<p:outputPanel binding="#{bean.panel1}" id="panel1">
<h:selectOneMenu ...>
<p:ajax event="onchange" actionListener=""{bean.selectionChanged} update="panel2"/>
</h:selectOneMenu>
</p:outputPanel>

...
 

Luu

Aktives Mitglied
panel1 ist das binding der komponente in der java-klasse.

Java:
<p:outputPanel binding="#{bean.panel1}" id="panel1">


private OutputPanel panel1 = new OutputPanel();
private OutputPanel getPanel1(){
return panel1;
}
private void setPanel1(OutputPanel panel){
panel1 = panel;
}
 

internet

Top Contributor
klappt leider noch nicht.
Es werden beim Aufruf der Seite sofort beide Select - Listen angezeigt:
Java:
								<h:outputLabel 		value="Firma *"
													styleClass="schriftfett"/>
								<h:selectOneMenu   id="firma" value="#{pv.firmaEingabe}">
			    					<f:selectItems value="#{pv.firmenliste}" />
									<p:ajax event="onchange" actionListener="#{pv.selectionChanged}" update="panel1"/>
								</h:selectOneMenu>
								<f:verbatim>*</f:verbatim>
								
								
								<h:outputLabel 		value="Kostenstelle *"
													styleClass="schriftfett"/>
								<p:outputPanel binding="#{pv.panel1}" id="panel1">
									<h:selectOneMenu   id="kostenstelle" value="#{pv.kostenstelleEingabe}">
			    					<f:selectItems value="#{pv.kostenstellenliste}" />
									<p:ajax event="onchange" actionListener="{pv.selectionChanged}" update="panel2"/>
									</h:selectOneMenu>
								</p:outputPanel>
								<f:verbatim>*</f:verbatim>
 

Luu

Aktives Mitglied
Die zweite Combo muss initial noch 'versteckt' werden
Dazu Definition zweier Styleclassen
Java:
private static final String CSS_HIDE = "display:none;";
private static final String CSS_SHOW = "display:block;";
1. Bevor Seite gerendert wird:
Java:
panel1.setStyleClass(CSS_HIDE) // Panel1 wirdnicht angezeigt
2. In actionMethode selectionChanged
Java:
panel1.setStyleClass(CSS_SHOW) // Panel1 wird angezeigt
 

internet

Top Contributor
Geht leider immer noch nicht:
Hier die Action - Methode:

Java:
    public void selectionChanged(ActionEvent ev) throws KostenstelleNotFoundException{
    	// SelectItems fuer zweite Combo erzeugen
    	kostenstellenliste = pvSpring.findKostenstelleByFirma(firmaEingabe);
    	
    	// Gebundenes outputPanel true setzen und rerendern
    	panel1.setRendered(true);
    	panel1.setStyleClass(CSS_SHOW); // Panel1 wird angezeigt
    }


Und hier die Methode, die die Seite aufruft:
Java:
	public String selectForCreatePerson()
	{
		panel1.setStyleClass(CSS_HIDE);
		return "/personenverwaltung/createPerson";
	}
 

Luu

Aktives Mitglied
Werden immer noch beide Combos sofort angezeigt??

Falls ja, wird die Panel-Styleklasse wieder ueberschrieben (also irgendwo nach dieser Methode selectForCreatePerson())

==> <p:eek:utputPanel binding="#{pv.panel1}" id="panel1" style="display:none">
 

internet

Top Contributor
nun wird das zweite Panel zwar nicht mehr angezeigt,
aber es erscheint auch nicht, wenn man beim ersten Selectmenü etwas auswählt...
 

Luu

Aktives Mitglied
Eh, wie waers mit nem System.out.println("selectionChanged"); in der Methode selectionChanged() ?
Ajax-Call Tracing ist Sache des Frameworks, wie das bei PrimeFaces laeut, weiss ich nicht, dat System.out sollte aber scho helfen.
 

Luu

Aktives Mitglied
Java:
public void selectionChanged(ActionEvent ev) throws KostenstelleNotFoundException{
         
System.out.println("selectionChanged");

        // SelectItems fuer zweite Combo erzeugen
        kostenstellenliste = pvSpring.findKostenstelleByFirma(firmaEingabe);
        
        // Gebundenes outputPanel true setzen und rerendern
        panel1.setRendered(true);
        panel1.setStyleClass(CSS_SHOW); // Panel1 wird angezeigt
    }

Dann sollte, wenn in der Combo ein Wert geändert wird, diese Methode aufgerufen und die System.out Ausgabe in die Konsole geschrieben werden .....
 

Luu

Aktives Mitglied
Der onchange-Event der combo kommt nicht bei <p:ajax.. /> an. Mal mit anderen Events versuchen, ob dann zumindest das zweite Panel angezeigt wird (onselect, onclick etc pp)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S AJAX/RestController Post Problem Web Tier 18
J Funktion für AJAX - Problem mit Return Web Tier 14
H Richfaces - Taglib Problem gelb unterstrichen Ajax Output Web Tier 6
7 Struts und Ajax. Problem mit Actions Web Tier 2
pkm Probleme mit einem AJAX-Call in einem dynamischen Webprojekt Web Tier 15
J JSF/JEE6 asynchronie Statusmeldungen per ajax Web Tier 1
D Servlet 1 Servlet für alles - Wie Cookies per Ajax? Web Tier 1
J Wicket: Füllen von Textarea via AJAX irgendwo auf der PAGE Web Tier 1
S JSF mit Ajax? Web Tier 3
V Wie baue ich eine Ajax Webanwendung? Suche Beispielanwendung (UML) eines AJAX Service Web Tier 0
P JSF Ajax aktualisiert Seite neu Web Tier 2
L JSF Composit Component mit ajax funktioniert nicht. Web Tier 4
M Ajax Fehler zur Laufzeit Web Tier 5
T JSF Primefaces: DataTable Ajax Update - Weiterleitung von anderer Seite Web Tier 11
S JSF SelectOneMenu - Probleme mit AJAX Web Tier 6
S JSF ComboBox mit JSF 2.0/ajax Web Tier 4
Kenan89 Class Funktion mit Ajax rufen Web Tier 13
P JSF tag "ajax" not found Web Tier 3
M JSF DataTable refreshen mit Ajax? Web Tier 5
R JSF Mit Ajax ganze Seite neu laden Web Tier 2
J Ajax ist undefiniert Web Tier 3
P JSF AJAX render wird nicht ausgeführt Web Tier 4
M JSF Ajax Command Link Web Tier 2
X Seite wird mit AJAX neu geladen Web Tier 4
J JSF AJAX-Aufruf ohne Komponente Web Tier 4
S Richfaces 4.0 Ajax Waitingpanel Web Tier 2
G JSF 2x h:selectManyCheckbox ohne duplikate Auswahl/selectManyCheckbox und f:ajax Web Tier 3
P JSF Login per Ajax validieren. Was ist der Beste Weg? Web Tier 4
S Ajax Request verhindert forward? Web Tier 8
P JSF Ajax refresh nach Linkklick Web Tier 4
B Ajax JSON Objekt verschicken Web Tier 3
N Htmlunit Test mit Ajax Web Tier 2
D JSF Ajax mit Facelets (PrimeFaces) Web Tier 4
G mit Ajax ein Image vom Server holen Web Tier 2
J JSP und Ajax Web Tier 6
7 Struts+AJAX- Session-Handling? Web Tier 2
S Framework, AJAX Drag and Drop Hilfe? Web Tier 2
H Welches Ajax Framework Web Tier 8
F AJAX: Inhalt nachladen + load icon Web Tier 2
I AJAX update Web Tier 2
T <f:ajax> in JSF2.0 Komponente ein- und ausblenden Web Tier 4
D [JSF] Center per Ajax wechseln Web Tier 3
D Ajax und Validation ohne große Umstrukturierung Web Tier 3
G Probleme mit Ajax Login (jsp) Web Tier 5
I Ajax DOM speichern Web Tier 27
V Image Map und Ajax-Richfaces Web Tier 5
J Ajax in MyFaces? Web Tier 6
K Orientierungslosigkeit: Webservice+Ajax(echo2)+Session-Management Web Tier 4
S Beschleunigung Verarbeitung, ...Ajax Client-Side? Web Tier 3
C RichFaces Ajax ReRender funktioniert nicht. Web Tier 2
T Ajax / Javascript Plugin für Eclipse Web Tier 1
G AJAX und J2EE Web Tier 6
pkm Problem beim Import eines dynamischen Webprojekts als .zip Web Tier 2
O JSF Java Unsigned Applet PrivilegedActionException Problem Web Tier 2
F JSF preRenderView Problem Web Tier 0
S Problem mit Checkboxen im Servlet erkennen Web Tier 3
N JSF JSF Selected Item & GesBetrag Problem Web Tier 1
Shams Problem mit der verwirklichung einer Readmethode in einer Chatapplikation Web Tier 3
F JSF Problem mit Primefaces Web Tier 7
F JSF Problem mit Primefaces Web Tier 4
F JSP Problem mit Property Web Tier 0
D Java EE Servlet login Problem Web Tier 1
L java.io.NotSerializableException für domain Objekte - Design Problem? Web Tier 12
T JSF Character Encoding Problem Web Tier 2
T JSF Problem mit JSF und Foreign Key Tabellen Web Tier 8
H JSF Problem mit Converter Web Tier 2
M Zeichensatz Problem? Web Tier 3
T JSF Problem wenn Session abgelaufen ist Web Tier 6
K JSF websphere application server 8 tomahawk problem Unable to find resource Web Tier 3
D JSF RichFaces Tree-Beispiel Problem Web Tier 2
J JSF Problem mit Bearbeiten von Datensätzen Web Tier 7
M JSF Problem mit CSS und Unterverzeichnissen Web Tier 2
M JSP Problem beim deployen auf Tomcat Web Tier 2
P Servlet getWidth(); - getHight(); Problem Web Tier 3
J JSP Problem bei Hibernate mit JSP Web Tier 2
M JSF mit Tobago Problem: ServletContextListener Web Tier 5
J Facelets javascript compiler problem Web Tier 3
T Tomcat mit Servlets Problem Web Tier 7
T Servlet Problem bei gwt rpc Web Tier 7
S Servlet Problem mit Tomcat Web Tier 3
J JSF Kein Methodenaufruf mit Button möglich durch PhaseListener (redirect) Problem? Web Tier 2
P rich:panelMenuGroup --> expanded Parameter Problem Web Tier 3
F.S.WhiTeY Tmplating/CSS Problem bei JSF Web Tier 7
A ice:inputText Converter Problem Web Tier 2
B JSF Tomcat Windows Linux equals Problem Web Tier 3
R JSF JSF Composite Components: Problem mit Attributliste und Referenzierung Web Tier 2
M Problem mit Hibernate und GWT Web Tier 6
O JSP struts2 tag: Problem mit Dezimalzahlen Web Tier 2
P Struts Struts2 if tag Problem mit getText() Web Tier 3
B Java EE 6 Problem (EL) Web Tier 4
ruutaiokwu beanshell scope problem... Web Tier 7
P Problem mit HTML.Tag.OPTION Web Tier 3
N Problem mit Datei Streaming Web Tier 2
M Problem mit Verlinkung JSP Dynamische Tabelle Web Tier 7
S Architektur-Problem? 2 Servlets, ein Objekt Web Tier 4
F.S.WhiTeY JSF:org.apache.jasper.JasperException Problem Web Tier 2
N Servlet: Problem mit getParameterValues Web Tier 4
J GWT - RPC Problem Web Tier 6
F Problem mit JSF Anwendung Web Tier 9
I Logout - Problem => Bei Zurück Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben