提问人:Maria1995 提问时间:11/7/2023 更新时间:11/9/2023 访问量:19
限制 Javascript 中的 Primefaces datePicker 分钟和秒
Limit the Primefaces datePicker minutes and seconds from Javascript
问:
我正在使用 datePicker Primefaces 元素,以便允许用户选择小时、分钟和秒的值。目前,小时的值介于 0 和 24 之间,分钟介于 0 和 60 之间,秒数相同。
我想将这种选择的可能性限制为一些静态值,这些值是通过获取页面上发布的视频长度获得的。我在 JS 中拥有小时、分钟和秒的值。
因此,例如,如果视频有 1 分 30 秒,我希望小时部分不允许用户向上或向下按箭头,分钟最多为 30 分钟,分钟为 1。我用JS尝试了以下方法,但出现错误:“timePicker.setMaxTime不是函数”。在Java中,我可以设置Primefaces datePicker的minDate和maxDate,但是我不知道那里的视频长度,只能从JS中找到。
我能做些什么?
UI datePicker 元素:
<p:datePicker id="timeDatePicker"
widgetVar="widgetVarOfDatePicker"
value="#{traineeDashboard.newIncidentTimestamp}"
appendTo="@this">
<f:converter converterId="timeConverter"/>
</p:datePicker>
JS代码:
var timePicker = PF('widgetVarOfDatePicker'); // Replace with your actual widgetVar
var hoursDropdown = $('div.ui-hour-picker span:eq(1)');
var minutesDropdown = $('div.ui-minute-picker span:eq(1)');
var secondsDropdown = $('div.ui-second-picker span:eq(1)');
hoursDropdown.text(hours);
minutesDropdown.text(minutes);
secondsDropdown.text(seconds);
if (hours == 0) {
timePicker.setMaxTime(minutes, seconds);
} else {
timePicker.setMinTime(hours, minutes);
}
hoursDropdown.trigger('change');
minutesDropdown.trigger('change');
secondsDropdown.trigger('change');
}
答:
1赞
Melloware
11/9/2023
#1
这将很难实现,因为如此多的内部日期选择器代码是在 60 秒、60 分钟等时间内中继的。
多年来一直有一张未结的票:https://github.com/primefaces/primefaces/issues/5551
您可能想对这个问题投赞成票,但请注意,其他 PrimeFaces 库、PrimeNG 等都不允许这样做,所以我怀疑它是否会实现。
评论