如何在 Apache Wicket 中将 "onchange" SimpleAttributeModifier 添加到 DropDownChoice

How to add "onchange" SimpleAttributeModifier to DropDownChoice in Apache Wicket

我想 运行 一个特定的 javascript 在下拉选项中更改选择时,所以我添加了一个简单的属性修饰符,如下所示:

ddc.add(new SimpleAttributeModifier("onchange", "calc();"));

但是如果我这样做,它会完全覆盖 wicket onSelectionChanged() 方法。 我需要一种方法来执行两者。

谢谢

您可以使用 AttributeAppender

ddc.add(new AttributeAppender("onchange", "calc();", " "));

最后一个参数是使用的分隔符。

像这样使用 OnChangeAjaxBehavior

    ddc.add(new OnChangeAjaxBehavior() {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.appendJavaScript("calc();");
        }
    });