1

ユーザーがcombo_pedido_tipoplm selectOneMenuの1つのオプションを選択したときに、別のselectOneMenuを更新する必要があります。ユーザーが「Chose One」オプションを選択した場合、2 番目のオプションをクリアする必要があります。

すべてを試しましたが、h:selectOneMenu からオプション "Chose one" (Selecione) を選択した後、actionListener を呼び出すことができません。

XHTML

<h:selectOneMenu id="combo_pedido_tipoplm" value="#mBeanManterPedido.tipoPlacaMaeFiltro}" required="true" disabled="#{!mBeanManterPedido.pedidoValido or mBeanManterPedido.clonado}">
    <f:selectItem itemLabel="#{msgTemplate.lblSelecione}" />
    <f:selectItems value="#{mBeanManterPedido.selectItemsTipoPlacaMae}" />
    <p:ajax event="change" listener="#{mBeanManterPedido.tipoPlacaMaeChange}"   process="@this"/>
</h:selectOneMenu>

MBean

private TipoPlacaMae tipoPlacaMaeFiltro;

public void popularTipoPlacaMae() {
        this.selectItemsTipoPlacaMae = new ArrayList<SelectItem>();
        for (TipoPlacaMae tipoplaca : TipoPlacaMae.values()) {
            this.selectItemsTipoPlacaMae.add(new SelectItem(tipoplaca, tipoplaca.getNome()));
        }
        UtilsCommon.orderByLabel(selectItemsTipoPlacaMae);
    }

public void tipoPlacaMaeChange(AjaxBehaviorEvent e) {
        // deseleciona a PlacaMae atualmente selecionada.
        pedido.setPlacaMae(null);
        limparDadosPedido();
        popularPlacaMae();
    }

「Chose one」オプションを選択すると、この selectOneMenu が再クエリされ、tipoPlacaMaeFiltro のセッターが呼び出されないため、検証エラーが発生しました。

<?xml version='1.0' encoding='UTF-8'?>

{"validationFailed":true}

私はそれについて何ができますか?

4

1 に答える 1