我正在尝试使用JSF中的ajax同步工作日和日期。
它工作正常,除非我选择之前输入的相同工作日或日期,或者我离开下拉框而没有选择任何内容。
Endresult是一个悬挂式浏览器(看似永远加载),我只能通过重新加载来“继续”。
以下是一些代码段:
XHTML:
<h:selectOneMenu id="weekdaySelectMenu" showEmptyEntry="false"
styleClass="dropdown_autoWidth" value="#{record.weekdayId}"
>
<f:selectItems
value="#{editCourseValueObjectHolder.weekdayValues.entrySet()}"
var="entry" itemValue="#{entry.key}" itemLabel="#{entry.value}"/>
<f:converter converterId="java.lang.Long" />
<f:ajax
listener="#{record.adjustFirstAppointmentDateToMatchWeekDay}"
event="valueChange"
render="#{overlayIds}"
execute="@this"
/>
</h:selectOneMenu>
豆:
...
public void adjustFirstAppointmentDateToMatchWeekDay(AjaxBehaviorEvent event) {
Long newWeekday = getWeekdayId();
Calendar firstAppointment = createCalendarOfFirstAppointment();
int dayShifter = initDayShifter(newWeekday, firstAppointment);
shiftDays(newWeekday, firstAppointment, dayShifter); //Date is set according to weekday
}
...
有什么想法吗?谢谢你的帮助!