我有两个日历(startDate和endDate)我有一个功能可以禁用除星期一之外的所有日子,或者在startDate日历中启用下一个工作日到星期一假日。我有一个功能,可以禁用星期五以外的所有日子,或者在结束日历中将前一个工作日启用到星期五。当我在startDate日历中选择日期时,它会自动选择endDate日历中的某个启用日期,反之亦然。当用户更改任何日历中的月份或年份时,日历将关闭,我需要保持打开状态。我还需要在startDate日历中选择日期时,它会调用禁用另一个日历中日期的功能。似乎该函数运行但它不会禁用另一个日历的日期
javascript功能:
<h:panelGroup id="scriptPG">
<script>
//<![CDATA[
function disableStartDateDays(date) {
var daysToDisable = #{bean.disableStartDates};
var month = date.getMonth(), day = date.getDate(), year = date.getFullYear();
for (i = 0; i < daysToDisable.length; i++) {
if ($.inArray((month + 1) + '-' + day + '-' + year, daysToDisable) != -1) {
return [ false ];
}
}
return [ true ];
}
function disableEndDateDays(date) {
var daysToDisable = #{bean.disableEndDates};
var month = date.getMonth(), day = date.getDate(), year = date.getFullYear();
for (i = 0; i < daysToDisable.length; i++) {
if ($.inArray((month + 1) + '-' + day + '-' + year, daysToDisable) != -1) {
return [ false ];
}
}
return [ true ];
}
//]]>
</script>
</h:panelGroup>
日历:
<p:calendar id="startDate" widgetVar="startDateWV" ... >
<p:ajax event="dateSelect"
listener="#{bean.selectEndDate}"
oncomplete="disableEndDateDays(PF('startDateWV').getDate());"
process="@this"
update="endDateCAL @this" />
<p:ajax event="viewChange"
listener="#{bean.findDaysToDisableStartDate}"
process="@this endDateCAL"
update="@this scriptPG" />
</p:calendar>
<p:calendar id="endDate" widgetVar="endDateWV" ... >
<p:ajax event="dateSelect"
listener="#{bean.selectStartDate}"
oncomplete="disableStartDateDays(PF('endDateWV').getDate());"
process="@this"
update="startDateCAL @this" />
<p:ajax event="viewChange"
listener="#{bean.findDaysToDisableEndDate}"
process="@this startDateCAL"
update="@this scriptPG" />
</p:calendar>
startDate calendar:
结束日历: