h:inputText между элементами p:selectManyCheckbox

Можно ли каким-то образом отобразить h:inputText между элементами select a p:selectManyCheckbox?

Что я хотел бы иметь:

  • CheckBox1
  • checkbox2
  • inputTextIfCheckbox2IsMarked (отключено, если не отмечено..)
  • флажок 3
  • флажок 4

Я знаю, как сделать включение / отключение и т. Д. Из флажка, но за пределами selectItems. Я хотел бы поместить это между ними.

Это возможно на НЕКОТОРОМ пути?

Мое решение (с inputText не между selectItems):

<h:panelGrid columns="2">
    <p:selectManyCheckbox converter="otherAdmissionReasonConverter"
                          id="otherAdmissionReasonCheckbox"
                          value="#{potentialDonorFileBackingBean.potentialDonorFile.generalPatientInformation.otherAdmissionReasons}"
                          layout="grid" columns="1">

        <f:selectItems value="#{patientInformationBackingBean.otherAdmissionReasons}"
                       var="otherAdmissionReason"
                       itemValue="#{otherAdmissionReason}"
                       itemLabel="#{msgs['ar.'.concat(otherAdmissionReason)]}"/>
        <p:ajax update="customAdmissionReasonGrid"/>
    </p:selectManyCheckbox>

    <h:panelGroup id="customAdmissionReasonGrid"
                  styleClass="customAdmissionReason">

        <p:inputText id="customAdmissionReason"
                     disabled="#{!potentialDonorFileBackingBean.potentialDonorFile.generalPatientInformation.otherAdmissionReasonChecked()}"
                     value="#{potentialDonorFileBackingBean.potentialDonorFile.generalPatientInformation.customAdmissionReason}"/>
    </h:panelGroup>
</h:panelGrid>

PrimeFaces: 5.2

1 ответ

Для PrimeFaces < 5.2.3 вы не можете. Для PrimeFaces >=5.2.3 вы можете использовать такой макет (© PrimeFaces)

<h3>Custom Layout (since v5.2.3)</h3>
<p:outputPanel id="customPanel" style="margin-bottom:20px">
    <p:selectManyCheckbox id="custom" value="#{checkboxView.selectedConsoles2}" layout="custom">
        <f:selectItem itemLabel="Xbox SixSixSix" itemValue="Xbox SixSixSix" />
        <f:selectItem itemLabel="PS9" itemValue="PS9" />
        <f:selectItem itemLabel="Wii Them" itemValue="Wii Them" />
    </p:selectManyCheckbox>

    <div class="ui-grid ui-grid-responsive">
        <div class="ui-grid-row">
            <div class="ui-grid-col-4">
                <h:outputLabel for="opt1" value="Xbox SixSixSix" style="display:block"/>
                <p:checkbox id="opt1" for="custom" itemIndex="0" />
            </div>
            Some Custom Text between item 1 and 2
            <div class="ui-grid-col-4">
                <h:outputLabel for="opt2" value="PS9" style="display:block"/>
                <p:checkbox id="opt2" for="custom" itemIndex="1" />
            </div>
            <div class="ui-grid-col-4">
                <h:outputLabel for="opt3" value="Wii Them" style="display:block"/>
                <p:checkbox id="opt3" for="custom" itemIndex="2" />
            </div>
        </div>
    </div>
</p:outputPanel>
Другие вопросы по тегам