【问题标题】:How to generate inputText field dynamically based on selection of p:picklist?如何根据 p:picklist 的选择动态生成 inputText 字段?
【发布时间】:2015-11-17 19:05:10
【问题描述】:

我有一个场景,我必须针对同一页面中<pickList> 的每个选择生成输入文本字段。我正在使用 PrimeFaces 5.2 和 JSF 2.2。 请多多指教。

【问题讨论】:

  • 请详细说明。一旦用户从源中选择某些字段并将其移动到pickList中的目标,您是否要为目标中的n个元素呈现n个inputText?
  • 感谢您的回复。你是对的!实际上这个选择列表是一个项目列表。根据项目的选择,我想为项目生成 inputText 字段输入价格。

标签: ajax jsf primefaces


【解决方案1】:

答案如下:

XHTML:

 <p:pickList id="PojoPickList"
      value="#{editRoleAction.funcFieldDTO}" var="trnxDto"
      effect="bounce" itemValue="#{trnxDto.fieldValue}"
      itemLabel="#{trnxDto.fieldName}" showSourceControls="true"
      showTargetControls="true" converter="pickListConverter">
      <p:ajax event="transfer" update="@form"
        listener="#{editRoleAction.transactionTransferToDestination}" />
      <f:facet id="idar556" name="sourceCaption">#{msg.LBL_AVALIABLE_ROLES}     </f:facet>
    <f:facet id="idar557" name="targetCaption">#{msg.LBL_SELECTED_ROLES}</f:facet>
</p:pickList>




   <h:panelGrid id="myGrid" width="400px;">
     <p:dataTable value="#{editRoleAction.moduleTransactionList}" rendered="#{editRoleAction.moduleTransactionList.size() gt 0}" var="mainMenu">
        <p:column>
          <h:panelGrid columns="2">
            <h:outputText value="Price of #{msg[mainMenu.labelId]}"/>
            <p:inputText value="#{mainMenu.kioskType}"/>
          </h:panelGrid>

        </p:column>
     </p:dataTable>

   </h:panelGrid>

Java:

  public void transactionTransferToDestination() {
        List<FunctionalityFieldDTO> destTrnx = funcFieldDTO.getTarget();
        for (FunctionalityFieldDTO dto : destTrnx) {
              moduleTransactionList.add(dto);
        }
  }

【讨论】:

  • 为延迟 Mahendran 道歉。其实我忙于别的事情。这就是为什么我无法回复。虽然我检查过它并按要求完美地工作!!!再次感谢您
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-19
  • 2021-01-30
  • 2021-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多