当我第一次加载页面时,下拉选项的默认选项是“选择一个”。即使我选择了一个选项,有没有办法将其保留在下拉列表中?
(以防我以后不想放任何东西)
问问题
15905 次
2 回答
40
您需要使用该DropDownChoice.setNullValid()
方法。从javadoc:
确定当字段的模型值为非空时,空值是否应包含在选项列表中,以及是否应显示 null_valid 字符串属性(例如“选择一个”),直到选择了非空值。如果设置为 false,则当值为 null 时将显示“Choose One”。选择一个值并将该更改传播到基础模型后,用户将不再看到“选择一个”选项,并且无法重新选择 null 作为值。如果设置为 true,则无论是否曾经选择过非空值,都将始终显示空字符串属性(默认为空字符串)作为选项。请注意,此设置对验证没有影响;为了保证在表单验证中指定一个值,FormComponent. setRequired(布尔值)。这是因为即使使用 false 调用 setNullValid(),用户也可能无法通过从不激活(即单击)组件来简单地提供值。
如果您想保留 NullValid = true 的“Choose One”文本,您可以在 Application.properties 文件中使用类似于以下行的行:
nullValid=[Choose one]
于 2011-08-08T22:38:18.817 回答
5
在.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
于 2015-11-19T14:15:16.447 回答