2
저는 ria-development를 처음 사용하고 Ajax Slider example으로 작업하고 있습니다. 자바 스크립트 이벤트로 작업하는 방법을 알 수 없습니다. 여기 예제에서는 onValueChanged 이벤트가 미리 구현됩니다. onchange 또는 onSlider 이벤트를 어떻게 구현합니까?Wicket에 자바 스크립트 이벤트 구현
모든 도움을 매우 높이 평가합니다.
public abstract class AjaxSlider extends WebMarkupContainer {
private static final long serialVersionUID = 1L;
public AjaxSlider(String id) {
super(id);
super.setOutputMarkupId(true);
}
public JQUIComponentBehaivor<SliderOptions> getSlideBehaviors() {
List behaviors = getBehaviors();
for(Object behavior : behaviors){
if(behavior instanceof SliderBehavior)
return (SliderBehavior) behavior;
}
return null;
}
public abstract void onValueChanged(AjaxRequestTarget target,
int newValue);
@Override
protected void onInitialize() {
super.onInitialize();
AbstractDefaultAjaxBehavior ajaxBehavior =
new AbstractDefaultAjaxBehavior() {
private static final long serialVersionUID = 1L;
@Override
protected void respond(AjaxRequestTarget target) {
String sliderValue = RequestCycle.get().getRequest()
.getParameter("sv");
if (Utils.isNotBlank(sliderValue)) {
onValueChanged(target, Integer.valueOf(sliderValue));
}
}
};
super.add(ajaxBehavior);
super.add(new SliderBehavior(new SliderOptions()
.changeEvent(wicketAjaxGet(
ajaxBehavior,
new MapBuilder<String, Object>().add("sv",
js("ui.value")).build()))));
}
}
+1 답변을 원하지만 다음 번에 코드를 들여 씁니다. BTW, 단일 항목이있는지도의 경우 [Collections.singletonMap (kay, value)] (http://download.oracle.com/javase/6/docs/api/java/util/Collections.html)을 사용할 수 있습니다. # 싱글 톤 맵 % 28K % 2C % 20V % 29). –
오, 방금 MapBuilder 코드가 OP 자체임을 깨달았습니다. 신경 쓰지 마. –
감사! 좋아, 이제 이벤트를 어떻게 분리합니까? 이제는 두 가지 이벤트를 모두 respond-method로 가져 왔습니다. – user594883