子表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
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |