2
我是ria開發人員,並且與Ajax Slider example一起工作。我無法弄清楚如何使用javascript事件。在這個例子中,onValueChanged事件被預先實現。我如何實現onchange或onSlider事件?將JavaScript事件實現到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爲您的答案,但請下次縮進您的代碼。順便說一句,對於有單個條目的地圖,您可能想要使用[Collections.singletonMap(kay,value)](http://download.oracle.com/javase/6/docs/api/java/util/Collections.html #singletonMap%28K%2C%20V%29)。 – 2011-03-06 19:45:48
哦,我剛剛意識到MapBuilder代碼是OP自己的代碼。沒關係。 – 2011-03-06 19:49:09
謝謝!好的,現在我該如何區分這些事件?現在,我將這兩個事件都收到響應方法中。 – user594883 2011-03-07 18:19:35