我在我的表單上有一個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. Wicket,DropDownChoice選擇如何更改另一個DropDownChoice的選項?
- 2. 檢票DropDownChoice跳到某些選擇
- 3. 覆蓋Wicket中DropDownChoice的選擇
- 4. DropDownChoice獲取重複的選擇
- 5. 如何在第一個dropdownchoice中選擇值時在第二個dropdownchoice中添加值?
- 6. DropDownChoice不顯示選定的值
- 7. 選擇要素已選擇值-1
- 8. 默認選擇的值:選擇1
- 9. SSRS 2008 R2,選擇1個或多個值或沒有上述
- 10. 當值爲「-1」時,Apache Wicket DropdownChoice默認值問題
- 11. 便門:Dropdownchoice
- 12. Dropdownlist沒有選擇預選值-mvc3
- 13. 選擇選項沒有獲得價值
- 14. 定義一個選擇值-1或1
- 15. 檢票框架DropDownChoice
- 16. 選擇選擇沒有選擇沒有警報()jQuery
- 17. 如何在DropDownChoice Wicket中保留「選擇一個」選項?
- 18. 的Microsoft SQL總和值時,選擇SUMA *(選擇頂部1值....)
- 19. Wicket DropDownChoice設置模型值
- 20. DropDownChoice檢票獲得價值
- 21. Wicket DropDownChoice格式
- 22. 沒有在sql中選擇好值
- 23. 角2:多選擇沒有默認值
- 24. 選擇沒有特定值的項目
- 25. 當沒有組合框的值選擇
- 26. 只選擇新的沒有重複值
- 27. 選擇在沒有價值大於X
- 28. Combobox選擇的值沒有得到
- 29. 微調值沒有被選擇
- 30. 下拉列表值選擇,沒有ID
這對我來說非常有意義。你期望什麼?爲什麼? – 2010-10-26 10:31:34
爲什麼不檢查表單提交如果值爲-1,那麼只需提供您的默認值... – Gage 2010-10-26 12:12:21
如果您的下拉菜單中的某個值爲「-1」,該怎麼辦? – 2010-10-26 20:22:26