Wicket,如何在点击时懒惰加载DropDown选项?

时间:2012-04-05 14:26:52

标签: java wicket dropdownchoice

我有很多DropDownChoice组件,表单中有很多项目,在加载表单时,我只想显示已保存的选定选项。当用户点击DropDownChoice时,我想动态地加载完整的项目列表。

可以这样做吗?

3 个答案:

答案 0 :(得分:2)

在您的下拉组件中添加OnChangeAjaxBehavior。覆盖onUpdate - 方法并将另一个组件添加到目标。下拉组件的选定值在其模型中。

更新:哦,我想我知道你想要实现的目标。使用“onclick”作为构造函数参数向您的下拉组件添加AjaxFormComponentUpdatingBehavior。 覆盖onUpdate - 方法并将下拉组件添加到目标。在此之前,请更新下拉模型,以便它现在包含所有值。

答案 1 :(得分:0)

也许你可以使用AjaxEditableLabel s ...使用Wicket Extensions中的AjaxEditableChoiceLabel,你会得到一个compponent,它将当前值显示为Label,直到被点击并且更改为a通过Ajax DropDownChoice。这应该与您正在寻找的解决方案非常相似。

答案 2 :(得分:0)

如果您有很多选项要显示,请使用< select>不是最好的选择。

最好检查http://ivaynberg.github.com/select2/http://livedocs.dojotoolkit.org/dijit/form/FilteringSelect或任何其他基于JS的组件,它们可以通过Ajax按需加载选项。