老實說,人們可能會認爲它是,並且可能更但從技術上比用戶接口點,這不是一件容易的課題。
最簡單的出路是什麼?頂點datetimepicker。說實話,如果你對這項技術還不熟悉,我建議你使用這個技術,特別是如果你最初想要避開javascript/jquery。
讓我們這樣說吧:日期選擇器很好,工作很好,但時間真的不是那麼棒。
並非所有熱點權利。直到您點擊「關閉」,輸入項目中的值纔會更改。時間組件看起來像是老實說的最後一個草率添加。但是,它工作。 (但是我仍然將字段設置爲只讀,以便用戶不能直接輸入文本。)
允許輸入文本意味着它需要根據正確的格式掩碼進行驗證。並且格式掩碼在jQuery(日期選擇器)和Oracle中的格式掩碼方面有所不同,並且在datepicker中可能無法使用oracle格式掩碼,這增加了更多的複雜性。也沒有'實時'日期驗證(也不是日期時間),只有內置項目驗證將檢查格式掩碼和提交時觸發的內容。
無論如何,我會說看看它。設置你的項目被顯示爲日期選擇器,並使用下設置格式掩碼來獲取日期時間選擇器:
現在,您可以進一步推動它的過程,但它會花費一些功夫。儘管有幾個選項。
就我個人而言,當我實施日期+時間時,我總是將時間分成兩個字段。 1與日期分量,一個與時間分量,同時保持該項目的原始值隱藏(所以總共3項)。然後我在日期項目上使用日期選擇器,並在時間項目上使用jquery timepicker插件。在提交時,我將兩個值一起添加並在日期中解析它們,並將該值再次放入原始項目中(以允許標準處理對源設置爲數據庫列的項目進行處理)。
時間選擇器的一個示例是here,另一個是here。他們都不難實現。他們也有很好的文檔。雖然我不想在這裏實施它,但我建議你先看看它,看看它有多恐懼。 (我會建立一個頂尖的演示,但現在有點時間緊迫)。
例如,使用Trent的(第二個鏈接)插件:
- 把js文件在心尖images目錄。我在我的情況下創建的文件夾「/自定義」
所需的js文件添加到頁面(假設頂點4.2,把這個JavaScript文件的URL)
#IMAGE_PREFIX#libraries/jquery-ui/1.8.22/ui/jquery.ui.slider.js
#IMAGE_PREFIX#custom/jquery-ui-timepicker-addon.js
使用的onload代碼,如這初始化場
$("#P95_DEPARTURE_TIME").timepicker({hourGrid: 4,minuteGrid: 10});
這將最終看起來就象這樣:
如果你想要它,現在需要在javascript代碼中處理拾取器之間的任何進一步交互。不要忘記服務器驗證。
至於項目,我隱藏的日期項目具有格式掩碼DD-MON-YYYY HH24:MI
。格式掩碼很重要,因爲項目是綁定變量,綁定變量是varchar2
。 html表單中的值也就是文字。 例如,這是對我顯示的日期項目,具有類似的設置的時間項目:
然後在後提交的計算,我再次粘合在一起的價值觀,並把它們在M是「會的值保存到數據庫:
:P95_DEPARTURE_DATE_DISP||' '||:P95_DEPARTURE_TIME
這只是在設置的簡短說明,雖然,但一旦你多一點熟悉的產品可能是有趣的。
apex-plugin上也有2個timepicker插件,但老實說,我覺得它們跟這些已經存在的jquery插件相比並沒有什麼意思。
給它一些想法,看看它。
來源
2013-07-17 09:32:56
Tom
非常感謝您的幫助。這正是我需要聽到的(也許不是我想聽到的)。大聲笑。我很高興我不必花費更多的不必要的時間來嘗試自己解決問題。我肯定會給插件一個嘗試,看看我如何繼續。除了這個缺陷之外,我發現apex使用起來相當舒服。再次感謝您的及時和翔實的答覆。 –
沒問題。如果答案適合您,請記住將其標記爲已接受! – Tom
你做得非常好! –