-1

我有一个带有单选按钮的现有表单。我想要的是,每当用户选择选择任何一个值时,输入文本框或超链接都应该显示在同一个表单上。

我认为我在使用 ajax 来做到这一点的正确轨道上。但是,我想出了下面的代码,但它没有在选择任何单选值时更新表单:

注意:我只展示了在收音机中仅选择一个值以使事情保持清洁时应该发生的事情。

<tr>
  <td><ice:outputLabel value="Agenda Type" styleClass="mandatory"/></td>
  <td>                
      <h:selectOneRadio id="agenda_type" action="#{eventManagementController.radioVal}" required="true" label="Action">
        <f:selectItem itemValue="standard" itemLabel="Standard"/>
        <f:selectItem itemValue="normal" itemLabel="Normal"/>
        <f:ajax process="console" event="click" update="display" />                                            
      </h:selectOneRadio>                                                                               
  </td>
  <td>
    <ice:message for="agenda_type" errorClass="error"/>
  </td>
</tr>

<tr>
  <td>
       <ice:outputLabel value="Standard Agenda" rendered="#{eventManagementController.radioVal eq 'standard'}"/>
  </td>
  <td>                       
     <h:commandLink id="display" immediate="true" rendered="#{eventManagementController.radioVal eq 'standard'}"
     action="#{eventManagementController.goToAgendaDetailsPage}" value="Enter Details">
     </h:commandLink>      
     <br/>
  </td>               
</tr>

定义了一些控制器来将 radioVal 的值存储为:

public String getRadioVal() {
    return radioVal;
}

public void setRadioVal(String radioVal) {
    this.radioVal = radioVal;
}
4

1 回答 1

0

尝试在 f:ajax 中添加渲染,如下所示:

process="console" event="click" update="display" render="display"

这将强制在客户端呈现命令链接,希望对您有所帮助。

于 2019-11-22T07:14:00.050 回答