【问题标题】:Wicket : Manually set value of a DateTextFieldWicket:手动设置 DateTextField 的值
【发布时间】:2020-07-27 07:59:37
【问题描述】:

我的问题是,每当我的用户取消选中复选框时,我都想清除 DatetextField html 输入的值。 我有一个 AjaxCheckBox,目前只是让我的条件检查值是否等于 false。

@Override
protected void onUpdate(AjaxRequestTarget ajaxRequestTarget) {
    if(!this.getModelObject()){
       ???
    }
}

谢谢你:)

【问题讨论】:

    标签: java wicket wicket-7


    【解决方案1】:

    只需设置 DatetextField 的 modelValue 并通过 ajax 更新:

    datetextField.setModelObject​(null);
    ajaxRequestTarget.add(datetextField);
    

    不要忘记为 datetextField 设置标记 ID:

    datetextField.setOutputMarkupId​(true);
    

    【讨论】:

    • 由于 DatetextField 需要一个 Date 对象,我把 null 代替 "" 和它的工作。我缺少ajaxRequestTarget.add(datetextField);
    • @cocoall 我已经编辑了我的答案以使用 null。谢谢。
    • 根据我对 wicket 的经验,简单地将模型对象设置为 null 以清除表单组件通常不起作用,因为 wicket 仍然有一些值保存在输入中或尚未写入的转换输入中该模型。因此,在清除 FormComponent 时,我始终确保也调用所述组件的 clearInput() 方法。因此,为了安全起见,我个人建议添加datetextField.clearInput();
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多