【问题标题】:Primefaces slider to change datesPrimefaces 滑块更改日期
【发布时间】:2016-02-15 05:23:34
【问题描述】:

我需要显示一个更改日期并在标签中显示所选日期的滑块。 此滑块应具有开始日期和结束日期,因此用户只能在两者之间进行更改,并且步长为一天。

<h:outputText value="Selected Date: " />
<h:outputText id="output" value="#{myBean.sliderValue}" >
    <f:convertDateTime type="date" pattern="#{myBean.dateTimeFormatSeconds}"/>
</h:outputText>
<h:inputHidden id="hiddenDateSliderValue" value="#{myBean.sliderValue}" />
<p:slider for="hiddenDateSliderValue" min="#{myBean.sliderMinValue}" max="#{myBean.sliderMaxValue}" step="#{myBean.sliderStepValue}">
    <p:ajax event="slideEnd" listener="#{myBean.onSlideEnd}" />
</p:slider>

我编写的代码很简单,但只适用于 int 值。有谁知道如何在 p:slider 中使用 long 或 Date 值?我编写的代码很简单,但仅适用于 int 值。有谁知道如何在 p:slider 中使用 long 或 Date 值?

public void onSlideEnd(SlideEndEvent event) {
    event.getValue();
    //The above code returns int, I need long or Date so one of the lines below may work.
    //Date theDate = event.getValue();
    //Date theDate = new Date(event.getValue());
}

有什么想法吗?

【问题讨论】:

  • 改用&lt;p:calendar&gt;&lt;p:slider&gt; 不是为了那个。
  • @Tiny 谢谢,我知道&lt;p:calendar&gt; 是什么,但我需要一个滑块......如果我不能用primefaces 做到这一点,必须有另一种方法......
  • 你有没有试过解析结果:Date theDate = Long.valueOf(event.getValue)?
  • 恐怕你得自己做一个滑块插件或者看看这个ghusse.github.io/jQRangeSlider

标签: jsf primefaces


【解决方案1】:

我用过这个(没有日期步进,抱歉)。如下所述,这是针对 PrimeNg,而不是 Primefaces。 javascript应该仍然​​可以工作:

 <p-slider [(ngModel)]="cursornum" [min]="cursormin" [max]="cursormax" (onChange)="cursorChange($event)" [style]="{'width':'100%'}" ></p-slider>

this.cursormin = new Date().getTime();  //get milliseconds for slider min
this.cursormax = new Date(y, m, d).getTime();//get milliseconds for slider max
this.cursornum = new Date(n.getFullYear(), m + 3, d).getTime();//get milliseconds for slider cursor three months from now

与:

cursorChange(e) {
    this.cursornum = e.value; //get new milliseconds
    this.cursor = new Date(e.value).toDateString(); //convert to date and show as string
}

【讨论】:

  • 这是为 PrimeNG 而不是 PrimeFaces
  • 所以?它仍然提供使用滑块显示日期的指南。无论如何,javascript 和方法都可以工作。
猜你喜欢
  • 2011-07-22
  • 2015-08-30
  • 2012-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-12
相关资源
最近更新 更多