Wicket.Ajax: 无法为元素 "radioGroup1d" 上的事件 "click" 绑定侦听器,因为该元素不在 DOM 中
Wicket.Ajax: Cannot bind a listener for event "click" on element "radioGroup1d" because the element is not in the DOM
我在 apache-wicket-7 中有一个带有 RadioGroup 的页面。我想用 ajax 在后端页面 class 中调用一个方法。为此,我添加了:
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)
什么都不做。
如何解决?
此致,
马特乌斯
确保您没有在 HTML 模板中使用 <wicket:cotainer>
。那些没有渲染。
我在 apache-wicket-7 中有一个带有 RadioGroup 的页面。我想用 ajax 在后端页面 class 中调用一个方法。为此,我添加了:
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)
什么都不做。 如何解决?
此致, 马特乌斯
确保您没有在 HTML 模板中使用 <wicket:cotainer>
。那些没有渲染。