1

我正在尝试以这种方式使用 p:calender(primefaces 3.3) 实现多个日期选择功能。

<p:calendar  id="cal" showButtonPanel="true"  mode="inline"
    value="#{bean.dates}" selection="multiple"/> 

在 Backing bean 中,我以这种方式将日期作为数组:

private Date[] dates;
public Date[] getDates() {
    return dates;
}

public void setDates(Date[] dates) {
    this.dates = dates;

}

但仍然无法选择多个日期。

根据这个博客http://blog.primefaces.org/?p=391它可以工作。

我尝试以相同的方式实施。但没有奏效。为什么会这样?

4

2 回答 2

2

您阅读的博客文章非常过时,当时primefaces的日历依赖于YUI,而现在它基于Jquery UI datepicker(不支持多选)

所以你不能用 primefaces current calendar 实现多个日期选择,但你可以谷歌一下,找到其他基于 jquery 的替代方案,

例如jQuery UI Datepicker - 多个日期选择

于 2012-07-08T07:35:28.530 回答
1

没有默认功能,但这是使用 2 个内联日历的解决方案

<p:commandButton id="test" type="button"/>                                  
<p:overlayPanel for="test">
    <p:outputLabel styleClass="ui-grid ui-grid-responsive">
        <div class="ui-grid-row">
            <div class="ui-grid-col-6">
                <p:calendar id="start" value="#{myModel.start}" navigator="true" pattern="dd/MM/yyyy" mode="inline">
                    <p:ajax event="dateSelect" update="end"/>
                </p:calendar>       
            </div>
            <div class="ui-grid-col-6">
                <p:calendar id="end" value="#{myModel.end}" navigator="true" pattern="dd/MM/yyyy" mode="inline" mindate="#{myModel.start}"/>        
            </div>
        </div>
    </p:outputLabel>                                    
</p:overlayPanel>
于 2016-08-10T22:33:08.160 回答