通过更改小预览日历中的日期值会触发哪个rich:calendar事件?

时间:2014-01-22 14:34:30

标签: jsf richfaces

我使用rich:calendar组件和我的方法,如果手动插入新日期,则在属性“valueChangeListener”中注册的方法仅为fire。但是,如果我使用此组件的小预览日历,则不会触发任何内容。

对于小预览日历,我的意思就像在这个richfaces演示中: http://livedemo.exadel.com/richfaces-demo/richfaces/calendar.jsf;jsessionid=5F76DD93066405333AE0F8F7706AE441?c=calendar&tab=usage

我使用Richfaces 3.3。*

 <rich:calendar id="Date"
    value="#{bean.date}"
    popup="true" datePattern="dd.MM.yyyy" enableManualInput="true"
    ajaxSingle="true" buttonIcon="/img/calendar.png"
    immediate="true"
    valueChangeListener="#{bean.changeDate}"
    onchanged="updateDateInSectionA(this.value).text;"
    oninputblur="updateDateInSectionA(this.value).text;" >
    <a4j:support event="onchanged" ajaxSingle="true"
        reRender="section_A"
        actionListener="#{bean.doSomeThingElse}"
        valueChangeListener="#{bean.changeDate}" />
    <a4j:support event="oninputchange" ajaxSingle="true"
        reRender="section_A"
        actionListener="#{bean.doSomeThingElse}"
        valueChangeListener="#{bean.changeDate}" />
    <a4j:support event="oninputkeyup" ajaxSingle="true"
        reRender="section_A"
        actionListener="#{bean.doSomeThingElse}"
        valueChangeListener="#{bean.changeDate}" />
</rich:calendar>

valueChangeListener中的代码没有执行,但为什么?

1 个答案:

答案 0 :(得分:0)

我做了这样的事情,就像你说的那样有效:

<rich:calendar id="test" value="#{mybean.date}"> <a4j:support event="onchanged" 
ajaxSingle="true" reRender="xxform" valueChangeListener="#{mybean.date}" />
</rich:calendar>