用一系列增量时间以及附加选项填充选择
使用 Ruby on Rails,我使用给定增量(例如每 30 分钟)填充一次“选择”。 目前我正在 YAML 文件中写出所有可能性,但我觉得有一种更灵活的方法。我想我想提供一个开始时间、一个结束时间、一个增量,目前只有一个名为“关闭”的选项(想想“营业时间”)。 所以,我的选择可能会显示:
“已关闭”
上午 5:00
上午 5:30
上午 6:00
...
[一直到]...
晚上11点30分
谁能想到更好的方法来做到这一点,或者只是将它们全部“拼写”出来是最好的方法?
Using Ruby on Rails, I'm filling a 'select' with times using a given increment, such as every 30 minutes.
Currently I'm writing out all the possibilities in a YAML file, but i feel like there's a slicker way. I'm thinking I want to provide a start_time, an end_time, an increment, and currently just one more option called 'Closed' (think 'business_hours').
So, my select might display:
'Closed'
5:00am
5:30am
6:00am
...
[all the way to]...
11:30pm
Can anyone think of a better way of doing this, or is just 'spelling' them all out the best way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这个答案基于@emh 的答案。
您可以这样使用它:
要添加“关闭”使用:
您还可以传递
:increment =>; 15.分钟
- 默认情况下设置为30.分钟
。This answer is based on @emh answer.
You can use it this way:
To add "Closed" use:
You can also pass
:increment => 15.minutes
- by default it is set to30.minutes
.您可以考虑使用 HTML5
time
输入类型来代替由于
time
输入仅在 HTML5 中可用(事实上,到目前为止只有 Opera 支持它),您将需要一种让其他浏览器使用它的方法。我问了一个关于为元素。
Instead of a
<select>
you might consider using the HTML5time
input type:Since the
time
input is only available in HTML5 (indeed, only Opera supports it so far), you'll want a way for other browsers to use it. I asked a question about doing the same thing for a<input type='range'>
element.