我在我的表单上有一个DropDownChoice组件,当表单被提交并且DropDownChoice中没有选择任何内容时,返回的默认值是“-1”。有没有办法改变这种行为?DropDownChoice - 没有选择,值-1?
回答
此行为是由一个恒定场
protected static final String NO_SELECTION_VALUE = "-1";
在
AbstractSingleSelectChoice
,这是DropDownChoice
类的超类的控制。
您不能在子类中更改此值,因此为了更改所使用的值,您必须找到此常量的用法并覆盖使用它的方法以使用其他默认值。
虽然这很有可能,但这样做会很危险。我知道你必须至少覆盖getDefaultChoice(final Object selected)
和getModelValue()
。
为什么你想这样做?它的目的是一个明智的价值。
也许有更好的方法来完成您的潜在需求。
我想知道为什么会发生这种情况/背后是什么。我不使用索引 - 每个选项都映射到数据库中的一条记录,并且我重写了getIdValue(Object,Int)方法,以便它返回相应对象的ID。 id不应该是负数,但由于它们是Long类型的,假设它可能发生。这就是为什么我更喜欢当没有选择任何东西时我可以返回null。 – 2010-10-26 12:29:09
@John - 如果这是一个真正的担心,通过修改getIdValue可以更容易地处理返回修改的ID,该ID包含区分值。由于getIdValue返回一个字符串,所以只需将某些内容附加到ID即可轻松完成此操作。 – 2010-10-27 09:57:27
钩到beforeSubmit,并改变你想要的。 我认为有这样的价值是好的,因为第一个元素是0,notting的意思是-1。
- 1. DropDownChoice获取重复的选择
- 2. 默认选择的值:选择1
- 3. 当值为“-1”时,Apache Wicket DropdownChoice默认值问题
- 4. 选择选项没有获得价值
- 5. Dropdownlist没有选择预选值-mvc3
- 6. 检票框架DropDownChoice
- 7. 定义一个选择值-1或1
- 8. 选择选择没有选择没有警报()jQuery
- 9. Wicket DropDownChoice设置模型值
- 10. 微调值没有被选择
- 11. Combobox选择的值没有得到
- 12. 值java.sql.SQLException:没有数据库中选择
- 13. 选择没有特定值的项目
- 14. 当没有组合框的值选择
- 15. DropDownChoice并按下BACK按钮
- 16. 下拉列表选择的值是没有得到选择
- 17. 访问选择Top 1没有返回所有行
- 18. CakePHP没有选择
- 19. UITabbar没有选择
- 20. 基于DropdownChoice选择的动态添加面板
- 21. 检票器:在DropDownChoice项目选择事件中更新模型
- 22. DropDownChoice设置中选择一个特定的索引
- 23. 角度选择选项没有选择,即使有默认值设置
- 24. CSS:没有(),选择并选择后代
- 25. 的Grails G:选择没有选择
- 26. 单选按钮具有价值虽然没有选择
- 27. “从选择ABC(选择1)为abc” 生产 “(1)” 而不是 “1”
- 28. jQuery可选择只选择1并获得一个值?
- 29. Wicket下拉选择设置默认值
- 30. 异常没有数据发现从选择1从双重
这对我来说非常有意义。你期望什么?为什么? – 2010-10-26 10:31:34
为什么不检查表单提交如果值为-1,那么只需提供您的默认值... – Gage 2010-10-26 12:12:21
如果您的下拉菜单中的某个值为“-1”,该怎么办? – 2010-10-26 20:22:26