如何保持“二选一” DropDownChoice Wicket 中的选项?

发布于 2024-11-28 05:58:32 字数 82 浏览 0 评论 0原文

当我第一次加载页面时,下拉选项的默认选项是“选择一个”。有没有办法将其保留在下拉列表中,即使我已经选择了一个选项?
(以防我以后什么都不想放)

When I first load a page, the default option on a dropdownchoice is "Choose One". Is there a way to keep it in the dropdown, even when I have selected a choice?
(In case I would like to put nothing later)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

め可乐爱微笑 2024-12-05 05:58:32

您需要使用 DropDownChoice.setNullValid() 方法。来自javadoc:

确定当字段的模型值为非空时,是否应将空值包含在选择列表中,以及是否应显示 null_valid 字符串属性(例如“选择一个”),直到选择非空值为止。如果设置为 false,那么当值为 null 时将显示“Choose One”。选择值并将更改传播到基础模型后,用户将不再看到“选择一个”选项,并且无法重新选择 null 作为值。如果设置为 true,则空字符串属性(默认情况下为空字符串)将始终显示为选项,无论是否选择了非空值。请注意,此设置对验证没有影响;为了保证在表单验证时指定一个值,FormComponent.setRequired(boolean)。这是因为,即使使用 false 调用 setNullValid(),用户也可能通过不激活(即单击)组件而无法提供值。

如果您想保留 NullValid = true 的“选择一个”文本,您可以在 Application.properties 文件中使用类似于以下内容的行:

nullValid=[Choose one]

You need to use the DropDownChoice.setNullValid() method. From the javadoc:

Determines whether or not the null value should be included in the list of choices when the field's model value is nonnull, and whether or not the null_valid string property (e.g. "Choose One") should be displayed until a nonnull value is selected. If set to false, then "Choose One" will be displayed when the value is null. After a value is selected, and that change is propagated to the underlying model, the user will no longer see the "Choose One" option, and there will be no way to reselect null as the value. If set to true, the null string property (the empty string, by default) will always be displayed as an option, whether or not a nonnull value has ever been selected. Note that this setting has no effect on validation; in order to guarantee that a value will be specified on form validation, FormComponent.setRequired(boolean). This is because even if setNullValid() is called with false, the user can fail to provide a value simply by never activating (i.e. clicking on) the component.

If you want to keep the "Choose One" text with NullValid = true you can use a line similar to the following one in your Application.properties file:

nullValid=[Choose one]
郁金香雨 2024-12-05 05:58:32

在 .java 中:

DropDownChoice<Boolean> myDropDown = new DropDownChoice<>(
    "myDropDownWicketId", model, Arrays.asList(true, false), renderer);
myDropDown.setNullValid(true);

在与 java 类关联的 .properties 文件中添加:

myDropDownWicketId.nullValid=Choose One
myDropDownWicketId.true=Yes
myDropDownWicketId.false=No

In .java:

DropDownChoice<Boolean> myDropDown = new DropDownChoice<>(
    "myDropDownWicketId", model, Arrays.asList(true, false), renderer);
myDropDown.setNullValid(true);

In .properties file associated with java class add:

myDropDownWicketId.nullValid=Choose One
myDropDownWicketId.true=Yes
myDropDownWicketId.false=No
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文