에 selectManyCheckbox 나는 내 웹 사이트에있는 두 개의 필드가 있습니다. 입력 텍스트 및 selectManyCheckbox. inputtext에서 사용자는 30.03.2014와 같은 날짜를 씁니다. selectManyCheckbox에는 모든 요일 (월요일, 화요일 ...)이 있습니다. 사용자가 날짜를 쓰는 경우 selectManyCheckbox에서이 날짜의 요일을 확인합니다. 예 : 30.03.2014는 일요일에 확인해야합니다. 여기 변경 : 이벤트
내 JSP의 일부 코드 :<h:inputText value="#{course.startTime}" onblur="submit()" valueChangeListener="#{course.intervalDayEvent}" immediate="true">
<f:converter converterId="dateConverter" />
</h:inputText>
<h:selectManyCheckbox layout="pageDirection" value="#{course.days}">
<f:selectItems value="#{course.availableDays}" />
</h:selectManyCheckbox>
그리고 여기 ManagedBean은 일부 코드입니다 : 당신이 월요일을 볼 수 있듯이
private List<String> days = new ArrayList<String>();
private List<SelectItem> availableDays = new ArrayList<SelectItem>();
@PostConstruct
public void init() {
availableDays.add(new SelectItem("Montag", "Montag"));
availableDays.add(new SelectItem("Dienstag", "Dienstag"));
availableDays.add(new SelectItem("Mittwoch", "Mittwoch"));
availableDays.add(new SelectItem("Donnerstag", "Donnerstag"));
availableDays.add(new SelectItem("Freitag", "Freitag"));
availableDays.add(new SelectItem("Samstag", "Samstag"));
availableDays.add(new SelectItem("Sonntag", "Sonntag"));
days.add("Montag");
}
public void intervalDayEvent(ValueChangeEvent event) {
try {
Date date = (Date) event.getNewValue();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int day = cal.get(Calendar.DAY_OF_WEEK);
days.clear();
switch (day) {
case Calendar.MONDAY:
days.add("Montag");
break;
case Calendar.TUESDAY:
days.add("Dienstag");
break;
case Calendar.WEDNESDAY:
days.add("Mittwoch");
break;
case Calendar.THURSDAY:
days.add("Donnerstag");
break;
case Calendar.FRIDAY:
days.add("Freitag");
break;
case Calendar.SATURDAY:
days.add("Samstag");
break;
case Calendar.SUNDAY:
availableDays.get(6).setLabel("Test");
days.add("Sonntag");
break;
}
} catch (Exception ex) {
log.warn(ex.getMessage());
}
FacesContext context = FacesContext.getCurrentInstance();
context.renderResponse();
}
(몬태그) prechecked된다. 입력 텍스트에 30.03.2014를 입력하면 일요일의 레이블이 "테스트"로 변경됩니다. 그러나 체크 된 항목은 월요일에서 일요일로 바뀌지 않습니다.
난 당신이 좀 도와 수 있기를 바랍니다. :)
벤자민
흠 작동하지 않습니다. :(그것은 selectManyCheckbox이있어 사용자가 하나 개 이상의 항목을 확인할 수 있습니다.이 목록 될 필요가 그래서.? 날짜가있는 PreCheck를가 제안이다. 어쨌든, 당신의 anwser 주셔서 감사합니다! – bedit
내가 놓친 죄송합니다. 나는 이유를 참조 이 방법을 일어나고 그것이 그에 따라 내 대답을 수정할 것입니다 – Ross
예, inputTextfields 내가하는 Liferay 5 환경에서 일하고 있기 때문에 내가 포틀릿 다리와 JSF 1.2을 사용해야합니다. 같은 형태로하고 나는 행복 해요 그것의 작동. 지금까지 작동하도록 a4j를 얻을 수 없습니다. 그래서 지금 두 양식을 사용합니다. 감사합니다 !! :) – bedit