2016-07-12 8 views
1

Ich benutze primethafaces selectonemenu. Da der Benutzer mich auffordert, mehr als einen Buchstaben zu filtern, funktioniert das jetzt nur mit einem Buchstaben. ist es möglich?? Ich habe meinen Code des Select-Menüs in der XHTML-Datei extrahiert. Ich hoffe es hilft. Danke für Ihre Hilfe:Wie filtere ich mit mehr als einem Buchstaben in Primefaces selectonemenu?

<p:selectOneMenu required="true" requiredMessage="#{esMessage['WARN.ESTTC3S5.COURSETYPE']}" id="ddCourseType" value="#{dtWebVoEsttc3s4.courseTypeId}" height="300" style="width:421px" 
    onchange="subListUpdate();" effect="fade"> 

<p:ajax listener="#{dtSelectedCourseTitleVo.filterList(dtWebVoEsttc3s4.courseTypeId, dtCourseTitleVo)}" update="ddCourseTitle" /> 

<f:selectItem itemLabel="#{esLabel['lbl.esttc3s4.lblselectcoursetype']}" itemValue="" noSelectionOption="true" /> 

<f:selectItems value="#{dtCourseTypeVo.courseTypeList}" var="courseType" 
    itemLabel="#{language.localeString eq 'zh'? courseType.courseTypeChi: courseType.courseType}" itemValue="#{courseType.courseTypeId}"/> 

</p:selectOneMenu> 

........................................................ 



<p:remoteCommand id="teacherNameListRemoteCommandId"  
    name="subListUpdate" action="updateCourseTitleListData3s4Form"  
    update="ddCourseTitle" /> 
+0

Can not Sie steuern Filterung auf Java-Seite? Übrigens hat p: selectOneMenu das Attribut filterFunction. –

Antwort

2

Warum nutzen Sie nicht die Filteroption aus selectOneMenu Komponente?

filter="true" filterMatchMode="startsWith" 

Quelle: http://www.primefaces.org/showcase/ui/input/oneMenu.xhtml

EDIT: Natürlich können Sie das Spiel-Modus verschiedene Optionen wie contains einstellen oder was auch immer Sie wollen

+0

Sie können sogar einen filterMatchMode = "custom" und ein FilterFunction-Attribut definieren, es ist eine JavaScript-Funktion mit 2 Argumenten (itemLabel und filterValue) um die Größe des Filters zu überprüfen. – SiMag

+0

@Ryan Fung Ziehen Sie die Antwort als akzeptiert, wenn Ihr Problem gelöst wurde . – chaeschuechli