primefaces日历可以禁用过去的日期和时间吗
Can primefaces calendar make past dates and times disabled?
我正试图在网站上弹出日历,让用户选择日期。这是为了提醒/执行任务。我不希望用户能够选择以前的日期或时间。
所有人对这个问题的建议都是mindate="today (get new Date())"
。这很好,因为这会使前几天无法选择。然而,人们仍然可以选择今天一天中的某个时间,即现在之前的时间。因此,人们自然会选择minHour
和minMinute
,但它们也会保留到未来几天。所以,如果我把这三个都设置好了,我们就很接近了,但问题是,如果我选择明天的日期,它只允许基于minMinute
和minHour
的一天中的时间,这两个时间基于您的系统时间"today (get new Date())"
。你明天应该可以选择任何你想要的时间。
我可以让日历只在"现在"之后的日期和时间有效吗??
这似乎是一个自然的环境。futureDates="disabled"
、pastDates="disabled"
等
我想默认情况下,在同一个日历组件中完成所有这些是不可能的。因为它要求在用户选择日期后更改minHour
和minMinute
的值。这意味着日历组件需要再次渲染。
您可以将其分为两个部分:一个用于只选择日期,另一个用于选择时间。
然后,当用户选择日期时,您可以执行ajax调用,并根据所选日期重新发送时间组件,并根据选择的日期设置minHour
和minMinute
。
这就是xhtml的样子:
<p:calendar id="dateOnly" mindate="#{datePickerView.minDate}"
value="#{datePickerView.chosenDate}">
<p:ajax event="dateSelect" listener="#{datePickerView.handleDateSelect}" update="timeOnly" />
</p:calendar>
<br />
<p:calendar id="timeOnly" value="#{datePickerView.chosenTime}"
pattern="HH:mm" timeOnly="true" minHour="#{datePickerView.minHour}"
minMinute="#{datePickerView.minMinute}" />
这就是豆子的样子:
public class DatePickerView implements Serializable {
private static final long serialVersionUID = 1L;
private Date chosenDate;
private Date chosenTime;
public void handleDateSelect(DateSelectEvent event) {
chosenDate = event.getDate();
}
public Date getMinDate() {
return Calendar.getInstance().getTime();
}
public int getMinHour() {
if (chosenDate.after(Calendar.getInstance().getTime())) {
return 0;
} else {
return Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
}
}
public int getMinMinute() {
if (chosenDate.after(Calendar.getInstance().getTime())) {
return 0;
} else {
return Calendar.getInstance().get(Calendar.MINUTE);
}
}
public Date getChosenDate() {
return chosenDate;
}
public void setChosenDate(Date chosenDate) {
this.chosenDate = chosenDate;
}
public Date getChosenTime() {
return chosenTime;
}
public void setChosenTime(Date chosenTime) {
this.chosenTime = chosenTime;
}
}
您当然应该添加时区处理等等。
相关文章:
- 更改angularjs中的日期-时间格式
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- 使用时刻.js从日期时间中提取时间
- 两个日期时间选择器
- Javascript:如何在onChange事件期间更改日期时间值
- .Net webApi ISO日期时间和IE8
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- 转换日期时间格式
- 在JavaScript中转换日期/时间格式
- JavaScript JSON关联对象键和值都作为日期时间戳
- 将日期时间javascript绑定到表列
- 将JS日期解析为C#日期时间
- 使用JavaScript将客户端日期/时间字符串转换为JSON日期/时间串
- 从javascript数组获取php的日期时间
- 格式化momentjs日期时间
- 这个正则表达式的日期/时间有什么问题
- Mongoose查询在两个日期时间之间提取数据
- 当转换为Python日期时间时,Node的时间戳落后3分钟
- 自定义angularjs过滤器日期时间格式额外字符