代码之家  ›  专栏  ›  技术社区  ›  jMarcel

请求Ajax后Primefaces InputSwitch组件复制

  •  1
  • jMarcel  · 技术社区  · 8 年前

    在web应用程序中,有一个表单可以让用户注册一些值,其中一个是 字首 . 当 字首 选择值,a selectCheckboxMenu 执行 价值观。这工作正常,如果用户单击Save按钮,它将正确地保存在数据库中。

    <p:outputLabel value="#{adeBundle.CreateDemandasLabel_prefixo}" for="prefixo" />
    <h:panelGroup>
        <p:selectOneMenu id="prefixo" value="#{demandasController.selected.prefixo}"  converter="prefixosConverter" filter="true" filterMatchMode="contains" required="true" requiredMessage="#{adeBundle.CreateDemandasRequiredMessage_prefixo}" >
            <f:selectItem itemLabel="#{adeBundle.SelectOneMessage}" itemValue="#{null}" />
            <f:selectItems value="#{prefixosController.items}"
                           var="prefixoItem"
                           itemValue="#{prefixoItem}"
                           itemLabel="#{prefixoItem.prefixo} - #{prefixoItem.nomePrefixo}"
                           />
            <p:ajax event="valueChange" update="uorPosCollection" listener="#{demandasController.changePrefixo}"/>                            
        </p:selectOneMenu>
        <p:tooltip for="prefixo" value="#{demandasController.getComponentMessages('prefixo', adeBundle.CreateDemandasHelpText_prefixo)}"/>
    </h:panelGroup>
    
    <p:outputLabel value="#{adeBundle.CreateDemandasLabel_uorPosCollection}" for="uorPosCollection" />
    <p:selectCheckboxMenu id="uorPosCollection" value="#{demandasController.selected.uorPosCollection}" label="Executivo(s)" multiple="true" 
                          converter="uorPosConverter" filter="true" filterMatchMode="contains" panelStyle="width:420px" dynamic="true" title="Selecione um ou mais..." >
        <f:selectItems value="#{demandasController.availableExecutivos}"
                       var="uorPosCollectionItem"
                       itemValue="#{uorPosCollectionItem}"
                       itemLabel="#{uorPosCollectionItem.matricula} - #{uorPosCollectionItem.nome} (#{uorPosCollectionItem.prefixo.prefixo})"
                       >
             <p:inputSwitch disabled="#{demandasController.selected.uorPosCollection.size()==0}" value="#{demandasController.valueOnExecutivo}" onLabel="Sim" offLabel="Não" showLabels="true" style="float: right"><p:ajax listener="#{demandasController.addEmailAdviseMessage}" update=":growl" /></p:inputSwitch>
             <p:outputLabel value="Enviar e-Mail:&nbsp;" style="float: right; padding-top: 0.5em" />
        </f:selectItems>
        <p:tooltip for="uorPosCollection" value="#{demandasController.getComponentMessages('uorPosCollection', adeBundle.CreateDemandasHelpText_uorPosCollection)}"/>
    </p:selectCheckboxMenu>
    

    inputSwitch 是重复的:

    enter image description here

    有人知道为什么会这样吗?我该怎么解决?

    提前谢谢。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Diego de la Riva    8 年前

    你必须把你的 <p:inputSwitch> <f:selectItems> . 然后放一个 <p:ajax>