如何在不关闭日历且不按应用按钮的情况下在输入日历字段中设置所选日期

时间:2019-05-30 12:52:21

标签: java jsf calendar xhtml richfaces

我正在建立一个网站,我想在上面建立一个Richface日历,以选择开始活动或会议的日期和时间。我怎样才能达到这个结果: 当我选择日期时,我想在日历输入字段中进行设置,但不要单击“应用”按钮,也不要关闭日历弹出窗口。

我尝试了Richface日历中的两个参数

 ondataselected="#{rich:component('calendarStartDate')}.setValue('#{eventPlanner.startDate}')"

 ondateselected="Richfaces.getComponent('calendar',this).close(true); return true" 

但是上面的内容就像一个应用按钮

<rich:calendar 
    id="calendarStartDate"
    value="#{eventPlanner.startDate}"
    datePattern="#{utilsBean.dateFormatForEvents}"                          
    enableManualInput="false"                       
    todayControlMode="hidden"                       
ondateselected="Richfaces.getComponent('calendar',this).close(true); return true"
     showApplyButton="true">
</rich:calendar>

实际上,我可以使用“应用”按钮保存选择的日期,一切正常,但是我想像我说的那样改善日历

1 个答案:

答案 0 :(得分:0)

处理点击的方法是Calendar.prototype.eventCellOnClick。 (我无法确定它是独立对象还是RichFaces的成员。)如果要更改行为,则需要覆盖该行为并删除关闭弹出窗口的行:

if (this.selectDate(date,true, {event:e, element:obj}) && !this.params.showApplyButton)
{
    this.doCollapse();
}