2017-02-20 7 views
0

In Primefaces (JSF) habe ich eine Liste von Kontrollkästchen. (Daten für die Liste kommen dynamisch aus der DB)Grundflächen - Fügen Sie ein Textfeld dynamisch unter dem Kontrollkästchen hinzu, wenn das Kontrollkästchen aktiviert ist

Und ich möchte ein Textfeld unter dem Kontrollkästchen hinzufügen, wenn der Benutzer das Kontrollkästchen ankreuzt.

Alle Hinweise bitte, wie das geht?

HTML

<p:column> 
     <p:selectManyCheckbox id="resolutionPower" value="#{resBRRD_83_2_3_Bean.selectedResolutionPowers_DD}" layout="grid" columns="1" required="true"> 
      <f:selectItems value="#{resBRRD_83_2_3_Bean.resolutionPowers_DD}" var="data" itemValue="#{data}" itemLabel="#{data.tcdDesc}" /> 
      <o:converter converterId="omnifaces.ListConverter" list="#{resBRRD_83_2_3_Bean.resolutionPowers_DD}" /> 
     </p:selectManyCheckbox> 
     <p:inputText /> 
    </p:column> 

enter image description here

+0

haben Sie versucht, ein Ajax-Ereignis und ein rendred ein input?!? –

+0

und Ihr versteckter inputText wird zwischen Listenelementen liegen (sagen wir zum Beispiel zwischen '1. Der Verkauf ...' und '2. Die Brücke in ...')?!? –

+0

@YagamiLight Danke Kumpel, ich schaffte es mit ui: wiederhole – Jay

Antwort

0

Ich schaffte es, wie unten zu tun, mit ui: repeat mit getrennten Feldern

HTML

<ui:repeat var="gtField" value="#{resBRRD_83_2_3_Bean.resolutionPowers_DD}"> 
    <h:panelGroup id="resolutionPower"> 
     <p:selectBooleanCheckbox itemLabel="#{gtField.tcdDesc}" value="#{gtField.selected}"> 
      <p:ajax type="change" process="@this" update="@this resolutionPower" /> 
     </p:selectBooleanCheckbox> 
     <br /> 
     <p:inputText rendered="#{gtField.selected}" style="width:100%" /> 
     <p:spacer height="5px" rendered="#{gtField.selected}" /> 
     <br /> 
    </h:panelGroup> 
</ui:repeat> 

Nach dem oben fix,

enter image description here

Verwandte Themen