Primefaces p:今天日历按钮

Primefaces p:今天日历按钮,primefaces,Primefaces,我使用的是pfrc1,jsf2.0 当我点击p:calendar的“今天”按钮时,默认情况下它会突出显示今天的日期,但要求是如果我点击“今天”按钮,我应该在相应的文本字段中获得突出显示的日期(今天的日期) 这似乎不工作,在显示的情况下也 是否可以在“今日”按钮上编写自定义代码,或使“今日”按钮按上述说明工作 谢谢。基本上,您需要将事件处理程序的jQuery绑定到弹出窗口上的“今天”按钮。使用特定的jQueryUI类可以很容易地找到这个按钮 jQuery('.ui-datepicker-curre

我使用的是pfrc1,jsf2.0

当我点击p:calendar的“今天”按钮时,默认情况下它会突出显示今天的日期,但要求是如果我点击“今天”按钮,我应该在相应的文本字段中获得突出显示的日期(今天的日期)

这似乎不工作,在显示的情况下也

是否可以在“今日”按钮上编写自定义代码,或使“今日”按钮按上述说明工作


谢谢。

基本上,您需要将事件处理程序的jQuery绑定到弹出窗口上的“今天”按钮。使用特定的jQueryUI类可以很容易地找到这个按钮

jQuery('.ui-datepicker-current').bind('click', function() { ... });
这个问题出现在click事件的处理程序中,因为您需要从弹出窗口中以某种方式触发select事件,而这样做存在一些挑战。我遇到的第一个问题是Datepicker javascript对象似乎没有一个有意义或可预测的id供我查找。我相信有一种方式我只是还没有看到它

找到此JS对象后,您可以通过传递以下参数对其调用
\u selectDay
函数

Datepicker._selectDay('#cal_input',0,2012, this);
其中,
calu input
是日历组件文本字段的id,我假设的第二个和第三个参数分别是月和年,那么我假设的第四个参数是日期选择器本身

即使这样做可行,也存在jQueryUI错误,这些错误与Primefaces用于其日历组件的日期选择器上未触发的select事件有关。这也会影响执行此操作的能力


我知道这不是一个明确的答案,但这是一个困难的问题,我希望这能让您有所了解。

使用PrimeFaces 5.2,您可以将
showButtonPanel=“true”
添加到
p:calendar
-标记中

看起来像这样

单击该按钮时,将选择今天的日期(生成selectevent),如下所示:


尝试在页面中包含以下代码:

$.datepicker.\u gotoday=函数(id){
var日期,
目标=$(id),
inst=这个。_getInst(目标[0]);
如果(本次获得(指令,“gotoCurrent”)和指令当前日期){
inst.selectedDay=inst.currentDay;
inst.drawMonth=inst.selectedMonth=inst.currentMonth;
inst.drawYear=inst.selectedYear=inst.currentYear;
}否则{
日期=新日期();
inst.selectedDay=date.getDate();
inst.drawMonth=inst.selectedMonth=date.getMonth();
inst.drawYear=inst.selectedYear=date.getFullYear();
}
此项变更(inst);
此._setDatePicker(目标,日期);
this.\u selectDate(id,this.\u getDateDatepicker(target));
此日期(目标日期);
}
这对我来说很好


或者在p:calendar标记中使用mask=“false”。

请参阅:@CagatayCivici,关于它的总结!谢谢找到这个链接。