apex:当apex:selectList控制器'rendered'值为true时,不会触发actionSupport'action'

时间:2012-03-31 07:23:00

标签: apex-code

hasMoreCategories的值为YES时,apex:selectList控制器成功呈现。但是,这不会执行loadValuesWithCategor下的apex:actionSupport方法。有没有人对这个问题有所了解?代码如下。

<!-- Panel for display category relate information -->
<apex:outputPanel id="categoryPanel">

  <apex:outputLabel value="Category" rendered="{!hasMoreCategories=='YES'}" /> &nbsp; &nbsp;

  <!-- ControllerSRAndTesting: category -->
  <apex:selectList label="Category" id="categoryList" value="{!categoryValue}" rendered="{!hasMoreCategories=='YES'}" size="1">
    <apex:selectOptions value="{!jobCategorValues}"></apex:selectOptions>
    <apex:actionSupport event="onchange" action="{!loadValuesWithCategor}" rerender="itemsReqPageBlock, footer" />
  </apex:selectList> &nbsp;

</apex:outputPanel>

3 个答案:

答案 0 :(得分:0)

问题:您可以从调试日志中验证在进行选择时肯定没有执行'loadValuesWithCategor'方法吗?

在不知道页面的其余部分是什么样的情况下,很难知道问题可能是什么。您可以在屏幕上显示一个未填充选项列表选项的必填字段,这可能会导致此类问题。

答案 1 :(得分:0)

我自己做了一些错误,这就是为什么代码表现得像那样。这意味着我已在hasMoreCategories方法中将NO的值重置为loadValuesWithCategor。因此,即使是由于rendered选项的值为false而呈现的,apex:selectList组件也不存在于UI上。谢谢。

答案 2 :(得分:0)

如果要通过actionSupport调用方法,请执行以下任务。

  1. 从选择选项列表的声明中删除“瞬态”。
  2. 删除即时属性。