我使用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中的代码没有执行,但为什么?
答案 0 :(得分:0)
我做了这样的事情,就像你说的那样有效:
<rich:calendar id="test" value="#{mybean.date}"> <a4j:support event="onchanged"
ajaxSingle="true" reRender="xxform" valueChangeListener="#{mybean.date}" />
</rich:calendar>