Moje wymagania są takie. Mam selectMenu z pewnymi wartościami (Przykłady: Inżynieria, Medycyna, Prawo itp.,). Załóżmy, że jeśli wybiorę opcję Inżynieria z rozwijanego menu, chcę utworzyć dynamicznie rozwijane menu z wartościami związanymi z inżynierią (przykład: elektronika, komputery, urządzenia elektryczne itp.). Jak osiągnąć to w JSF 2.0?Dodawanie dynamicznych elementów rozwijanych w JSF
5
A
Odpowiedz
6
Należy wykonać żądanie ajax po pierwszej zmianie wyboru h:selectOneMenu
. To żądanie zaktualizuje wybrane pozycje w drugim h:selectOneMenu
. Po zgłoszeniu ajax, musisz ponownie wygenerować drugi h:selectOneMenu
, z zaktualizowanymi wartościami.
strona:
<h:selectOneMenu value="#{bean.selectedSubject}">
<f:ajax listener="#{bean.changeSubject}" render="speciality_selection" />
<f:selectItems value="#{bean.subject}" />
</h:selectOneMenu>
<h:selectOneMenu id="speciality_selection" value="#{bean.selectedSpeciality}">
<f:selectItems value="#{bean.subjectSpecialities}" />
</h:selectOneMenu>
Zarządzane fasola:
public void changeSubject(){
//Loads the specialities depending on the selected subject
subjectSpecialities = loadSpecialitiesForSubject(selectedSubject);
}
Sprawdź naszą [selectonemenu] '' wiki stronę po więcej wskazówek, jak uzyskać większość z tych elementów: http: // stackoverflow.com/tags/selectonemenu/info (możesz uzyskać do niego dostęp, umieszczając na kółku znacznik '[selectonemenu]', który umieściłem pod twoim pytaniem, aż pojawi się czarne pole, a następnie klikając link * info *). – BalusC