加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

子表ajax内的SelectOneRadio调用不起作用

发布时间:2020-12-16 02:52:41 所属栏目:百科 来源:网络整理
导读:我正在使用primefaces 3.4.1而我正试图在 subtable内使用带有ajax调用的SelectOneRadio 但它不起作用,不调用ajax监听器 p:dataTable id="competenciesTable" var="competency" value="#{evaluationControl.currentEvaluation.evaluatedCompetencies}" f:face
我正在使用primefaces 3.4.1而我正试图在 subtable内使用带有ajax调用的SelectOneRadio
但它不起作用,不调用ajax监听器

<p:dataTable id="competenciesTable" var="competency" value="#{evaluationControl.currentEvaluation.evaluatedCompetencies}">
                <f:facet name="header">
                    <h:outputText value="#{gchmsg['global.competencies']}" />
                </f:facet>
                <p:subTable id="descriptorsTable" var="descriptor" value="#{competency.evaluationDescriptors}">
                    <f:facet name="header">
                        <h:outputText class="strong" value="#{competency.competency.name}" />
                    </f:facet>
                    <p:column>#{descriptor.descriptor.description}</p:column>
                    <p:column>
                        <p:selectOneRadio required="true" styleClass="calification_scale" id="descriptorCalification" value="#{descriptor.calification}" converter="calification">  
                            <f:selectItems value="#{competency.competency.calificationSchema.scales}" var="scale" itemLabel="#{scale.qualitativeValue}" itemDescription="#{scale.description}" itemValue="#{scale}" />
                            <p:ajax process="@this" listener="#{evaluationControl.handleRadioChange}" update=":evaluationForm:finalResultText,descriptorCalificationMsg" />
                        </p:selectOneRadio> 
                        <p:message id="descriptorCalificationMsg" for="descriptorCalification" display="icon" />
                    </p:column>
                </p:subTable>
            </p:dataTable>

evaluateControl是一个SessionBean,方法是

public void handleRadioChange() {
    log.debug("Listener called");
}

感谢帮助.

解决方法

经过太多的调试和测试后我终于找到了问题,主要的Subtable组件没有将值放回Backing Bean本身,你必须处理整个DataTable组件,所以我不得不删除required =“true”(到为每个selectOneRadio避免验证错误)并将process =“competenciesTable”添加到p:ajax

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读