【问题标题】:Wicket.Ajax: Cannot bind a listener for event "click" on element "radioGroup1d" because the element is not in the DOMWicket.Ajax:无法为元素“radioGroup1d”上的事件“click”绑定侦听器,因为该元素不在 DOM 中
【发布时间】:2017-11-10 09:14:47
【问题描述】:

我在 apache-wicket-7 中有一个带有 RadioGroup 的页面。我想用 ajax 在后端 Page 类中调用一个方法。为此,我添加:

AjaxFormChoiceComponentUpdatingBehavior

代码:

this.listInput = new RadioGroup<T>("radioGroup", this.model);
       this.listInput.add(new AjaxFormChoiceComponentUpdatingBehavior() {

            private static final long serialVersionUID = 1L;

            @Override
            protected void onUpdate(AjaxRequestTarget arg0) {
                System.out.println("The selected value is " + getComponent().getDefaultModelObjectAsString());
            }
        });

组件 RadioGroup 在较早的 ajax 调用后变得可见,因此它也是异步呈现的。但是当wicket尝试渲染组件时,会出现错误信息:

Wicket.Ajax:  Cannot bind a listener for event "click" on element "radioGroup1d" because the element is not in the DOM

添加:

setOutputMarkupPlaceholderTag(true)

什么都不做。 如何解决这个问题?

问候, 马特乌斯

【问题讨论】:

    标签: java wicket radio-group


    【解决方案1】:

    确保在 HTML 模板中不要使用 &lt;wicket:cotainer&gt;。那些没有被渲染。

    【讨论】:

    • 嗯...实际上有&lt;wicket:container&gt;。我害怕我无法更改它,因为这已经是一个提供的组件。不管怎样,谢谢你的建议,马丁
    猜你喜欢
    • 2015-11-24
    • 2019-09-06
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    • 2014-02-18
    • 1970-01-01
    相关资源
    最近更新 更多