PrimeFaces datePicker 在输入时设置当前日期
PrimeFaces datePicker set current date on enter
我使用 PrimeFaces datePicker。日历打开后,我想在按下回车键且未选择日期时应用当前日期。
这适用于 jQuery datePicker (https://jqueryui.com/datepicker/) 但不适用于 PrimeFaces。如果有针对此行为的选项,我看不到它。
它在 PrimeFaces v8.0 中工作但在 v11.0.0 中不工作。
在此先感谢您的帮助!
解决方法
对于v11.0.0,我仍然可以使用日历组件。那里的行为仍然与 v8.0 中的相同。
所以我有一个临时的解决方法。`
解决方案
我使用了 Melloware 的 JavaScript 代码并将其转换为一个函数。由于我在没有 widgetVar 的应用程序中有很多 datePickers,所以我使用给定的事件来确定组件。
function applyDateOnEnter(event) {
const datePicker = PrimeFaces.getWidgetById(event.target.parentNode.id);
if (event.keyCode === 13 && datePicker.getDate() === null) {
datePicker.setDate(new Date());
}
}
如果你愿意,你可以把它变成一个函数,但这里是如何做的:
<p:datePicker
id="basic"
value="#{calendarJava8View.date}"
widgetVar="dpBasic"
onkeydown="if (event.keyCode === 13 && PF('dpBasic').getDate() === null) { PF('dpBasic').setDate(new Date()) }" />
我使用 PrimeFaces datePicker。日历打开后,我想在按下回车键且未选择日期时应用当前日期。
这适用于 jQuery datePicker (https://jqueryui.com/datepicker/) 但不适用于 PrimeFaces。如果有针对此行为的选项,我看不到它。
它在 PrimeFaces v8.0 中工作但在 v11.0.0 中不工作。
在此先感谢您的帮助!
解决方法
对于v11.0.0,我仍然可以使用日历组件。那里的行为仍然与 v8.0 中的相同。 所以我有一个临时的解决方法。`
解决方案
我使用了 Melloware 的 JavaScript 代码并将其转换为一个函数。由于我在没有 widgetVar 的应用程序中有很多 datePickers,所以我使用给定的事件来确定组件。
function applyDateOnEnter(event) {
const datePicker = PrimeFaces.getWidgetById(event.target.parentNode.id);
if (event.keyCode === 13 && datePicker.getDate() === null) {
datePicker.setDate(new Date());
}
}
如果你愿意,你可以把它变成一个函数,但这里是如何做的:
<p:datePicker
id="basic"
value="#{calendarJava8View.date}"
widgetVar="dpBasic"
onkeydown="if (event.keyCode === 13 && PF('dpBasic').getDate() === null) { PF('dpBasic').setDate(new Date()) }" />