Как включить / отключить <p: inputtext> в зависимости от выбора значений из раскрывающегося списка <p: selectonemenu> в jsf - PullRequest
0 голосов
/ 29 августа 2018

Мы используем JSF 2.2.4 и PrimeFaces 5 для разработки некоторых полей формы.

Например: компания и короткий код - это мой выпадающий список, а «Если вы выбрали Другое» - это мое поле ввода текста. Поэтому, если пользователь выбирает «другие» из выпадающего меню, текстовое поле «Если вы выбрали другой» должно быть включено, в противном случае оно должно быть отключено. Ниже мой код:

<p:outputLabel value="Company Name and Shortcode:* " escape="true" />

<p:selectOneMenu  value="#{user.shipper}" effect="fold" required="true" id="selectone" autocomplete="off" 
     requiredMessage="#{error['form.shippershortcode']}"  widgetVar="selectWV"  >
        <f:selectItem itemLabel="----" itemDisabled="true"  />
        <f:selectItems value="#{shipperdropdown.shipperlist}"  />


</p:selectOneMenu>

    <p:outputLabel  value="If selected ‘Other’ above, please specify:" 
                 escape="true"  />
               <p:inputText  value="#{user.companyname}" 
              autocomplete="off"  id="company"  disabled="#{ user.shipper !='Others'}"  />

1 Ответ

0 голосов
/ 29 августа 2018

См. Точный пример: https://www.primefaces.org/showcase/ui/ajax/dropdown.xhtml

Я думаю, вам просто нужно добавить в свой p: selectOneMenu ...

<p:ajax update="company" process="@this" />

Так вот так ...

<p:selectOneMenu  value="#{user.shipper}" effect="fold" required="true" id="selectone" autocomplete="off" 
     requiredMessage="#{error['form.shippershortcode']}"  widgetVar="selectWV"  >
        <f:selectItem itemLabel="----" itemDisabled="true"  />
        <f:selectItems value="#{shipperdropdown.shipperlist}"  />
        <p:ajax update="company" process="@this" />
</p:selectOneMenu>
...