2015-12-03 27 views
0

是否有軌輸出的方式在這個格式的時間選擇:導軌 - 12小時時間輸入 - 使用3個框顯示時間輸入:HH(空白填充) - MM - AM/PM?

enter image description here

填補空白的小時,分​​鍾和AM/PM?

time_select似乎在兩個框中:HHAM/PM:MM。這讓我感到困惑,爲什麼誰對Rails做出貢獻的人會這樣編寫代碼。我從來沒有見過任何地方的設計實踐(至少在美國,這在其他國家是否正常)?

我正在使用simpleform,但似乎無法找到使用該方法的方法。因此,帶有或不帶簡單形式的解決方案將適用於我。

回答

0

我能夠用下面的代碼來完成此(如果窗體對象是 'DERP'):

<div class="timepicker"> 
    <select class="hour form-control" name="derp[hour]"> 
    <%= options_for_select((1..12).to_a, @derp.time ? @derp.time.strftime('%l').to_i : nil) %> 
    </select> 
    <span class="colon">:</span> 
    <select class="minute form-control" name="derp[minute]" > 
    <%= options_for_select(['00', '15', '30', '45'], @derp.time ? @derp.time.strftime('%M').to_i : nil) %> 
    </select> 
    <select class="meridiem form-control" name="derp[meridiem]" > 
    <%= options_for_select(['AM', 'PM'], @derp.time ? @derp.time.strftime('%p') : nil) %> 
    </select> 
</div> 

然後在DERP模型:

attr_accessor :hour, :minute, :meridiem 

after_validation :parse_time 

def parse_time 
    if hour and minute and meridiem 
    self.time = DateTime.parse("#{hour}:#{minute}#{meridiem}") 
    end 
end 
相關問題