Отображается в selectOneRadio вызывает проблемы

У меня проблемы с отображаемым атрибутом в одном из моих элементов selectOnRadio. Что я пытаюсь Если вопрос 1 задан, ДА, кнопка "Продолжить" должна быть включена. Если ответ на вопрос 1, НЕТ вопроса 2 не должен отображаться. Если на вопрос 2 дан ответ "да" или "нет", кнопка "Продолжить" должна быть активирована.

AJAX выполняет работу над вопросом 1 без каких-либо проблем, но как только отображается вопрос 2, и я попытался выбрать любой вариант, ничего не происходит, НО, если я удаляю отрисованный раздел на элементе Вопрос2 (SelectOneRadio), вопрос2 остается видимым, и AJAX работает нормально., Не могли бы вы помочь мне с этим вопросом? Любая помощь будет оценена.

<h:panelGroup id="ngsRadioQuestion1_Panel"
                                styleClass="light-box-style">
                                <h:selectOneRadio id="ngsRadioQuestion1"
                                    value="#{custSummaryBackingBean.ngsRadioQuestion1}"
                                    styleClass="yesNoSelect">
                                    <f:selectItem itemLabel="Yes" itemValue="1" />
                                    <f:selectItem itemLabel="No" itemValue="0" />
                                    <f:ajax event="valueChange"
                                        execute=":lightBoxForm:ngsRadioQuestion1"
                                        listener="#{custSummaryBackingBean.question1Listener}"
                                        render="ngsRadioQuestion2_label_panel ngsRadioQuestion2_Panel ngsContinueButton_label_Panel ngsContinueButton_Panel" />
                                </h:selectOneRadio>
                            </h:panelGroup>

                            <h:panelGroup id="ngsRadioQuestion2_label_panel"
                                styleClass="light-box-style" >
                                <h:outputText id="ngsRadioQuestion2_label"
                                    value="#{CustSummaryProp['custSummary.lightBox.routingQuestion2']}" 
                                    rendered="#{custSummaryBackingBean.isShowQuestion2()}"/>
                            </h:panelGroup>
                            <h:panelGroup id="ngsRadioQuestion2_Panel"
                                styleClass="light-box-style">
                                <h:selectOneRadio id="ngsRadioQuestion2" 
                                    value="#{custSummaryBackingBean.ngsRadioQuestion2}"
                                    styleClass="yesNoSelect"
                                    rendered="#{custSummaryBackingBean.isShowQuestion2()}">
                                    <f:selectItem itemLabel="Yes" itemValue="1" />
                                    <f:selectItem itemLabel="No" itemValue="0" />
                                    <f:ajax event="valueChange"
                                        execute=":lightBoxForm:ngsRadioQuestion2"
                                        listener="#{custSummaryBackingBean.question2Listener}"
                                        render="ngsContinueButton_Panel"/>
                                </h:selectOneRadio>
                            </h:panelGroup>

                            <h:panelGroup id="ngsContinueButton_label_Panel">
                                <h:outputText id="ngs_ContinueButton" />
                            </h:panelGroup>
                            <h:panelGroup id="ngsContinueButton_Panel">
                                <p:commandLink id="btn_StartNGSQuotePropLiabBOP"
                                    disabled = "#{!custSummaryBackingBean.isShowContinue()}"
                                    onclick="return launchInitOrch('BOP','#{lightBoxBackingBean.coverageText}');"
                                    styleClass="primary-button-lightbox" value="Continue" style="float:right">
                                    <f:ajax render=":lightBoxForm:lpOuter" onevent="hideLightBox" />
                                </p:commandLink>
                            </h:panelGroup>

BackingBean (я удаляю бизнес-правила, но в основном это то, что делает дисплей)

public void question2Listener(AjaxBehaviorEvent e){
        if(ngsRadioQuestion2 == 1){
            setShowContinue(true);
        }else{
            setShowContinue(true);
        }
        System.out.println("********** El valor del flag para desplegar boton: " + isShowContinue());
    }

    /**
     * This method change the value for Routing LightBox Question1
     */
    public void question1Listener(AjaxBehaviorEvent e){

        if(ngsRadioQuestion1 == 1){
            setShowContinue(true);
        }else{
            setShowQuestion2(true);
        }
        System.out.println("********** El valor del flag para desplegar boton: " + isShowContinue());
        System.out.println("********** El valor del flag para desplegar Pregunta2: " + isShowQuestion2());
    }

0 ответов

Другие вопросы по тегам