Wicket:(如何)我可以将AjaxCheckBox与CheckGroupSelector相关联?

时间:2011-11-23 12:50:55

标签: ajax checkbox wicket

我遇到类似这个问题的问题:Wicket: can Checkgroup be Ajax enabled?

我正在使用ListView,其中每个Item都有一个复选框。我还有一个“全选”复选框。我使用CheckGroupCheckGroupSelectorCheck,一切都很好。现在有一个新的要求是在更新复选框时更改页面上某些其他控件的状态。

Nicktar在上述链接问题中提出的建议也是第一个出现在我脑海中的建议,但我无法了解如何将AjaxCheckBoxCheckGroup / {一起使用{1}}。根据文档,您必须使用CheckGroupSelector

但在this mail from 2008中,Igor Vaynberg也表示可以在Check中使用AjaxCheckBox

我尝试将CheckGroup替换为Check后使用AjaxCheckBox,但它无效,CheckGroupSelector再也找不到复选框了。

我还考虑在onSelectionChanged中使用CheckGroup方法,但我想避免使用它,因为它会触发到服务器的另一次往返,据我所知。

有人可以给我一个提示吗?或者还有另一个很好的解决方案吗?

顺便说一下,我正在使用Wicket 1.4。

1 个答案:

答案 0 :(得分:2)

为什么不能向CheckGroup添加AjaxFormChoiceComponentUpdatingBehavior

来自AjaxFormComponentUpdatingBehavior的JavaDoc:

  

注意:此行为不适用于选择或组使用AjaxFormChoiceComponentUpdatingBehavior。

AjaxFormChoiceComponentUpdatingBehavior是与CheckGroupRadioGroup一起使用的行为。如果您在AjaxFormComponentUpdatingBehavior事件中使用onchange,则会在IE中遇到this bugAjaxFormChoiceComponentUpdatingBehavior CheckCheckGroup中的每个CheckBox正确处理AjaxCheckBox

作为附注,Igor在该邮件中说明的是,Check可以替换为AjaxCheckBox,而不是CheckBoxAjaxFormComponentUpdatingBehavior("onclick")只是{{1}}的便捷子类,{{1}},adding onclick event handlers显示。