jquery 或独立 js 的好时间选择器是什么?我想要像谷歌在他们的日历中使用的东西,它以 15 分钟的间隔下拉常用时间,或者让你手动输入时间并对其进行验证。
5 回答
一些资源:
这是迄今为止我发现的最好的http://trentrichardson.com/examples/timepicker/
我对任何建议的时间选择器都不满意,所以我从 Perifer 和 HTML5 规范的灵感中创建了自己的时间选择器:
http://github.com/gregersrygg/jquery.timeInput
您可以使用新的 html5 属性进行时间输入(步长、最小值、最大值),也可以使用选项对象:
<input type="time" name="myTime" class="time-mm-hh" min="9:00" max="18:00" step="1800" />
<input type="time" name="myTime2" class="time-mm-hh" />
<script type="text/javascript">
$("input[name='myTime']").timeInput(); // use default or html5 attributes
$("input[name='myTime2']").timeInput({min: "6:00", max: "15:00", step: 900}); // 15 min intervals from 6:00 am to 3:00 pm
</script>
像这样验证输入:
- 如果缺少,请插入“:”
- 无效时间?替换为空白
- 不是根据步骤的有效时间?向上/向下舍入到最近的步骤
HTML5 规范不允许 am/pm 或本地化时间语法,因此它只允许格式 hh:mm。根据规范允许秒数,但我还没有实现它。
它非常“alpha”,因此可能存在一些错误。随时向我发送补丁/拉取请求。已在 IE 6&8、FF、Chrome 和 Opera 中手动测试(后者在 Linux 上最新稳定)。
你可以在这里阅读 jQuery 创建者 John Resig 的帖子:http: //ejohn.org/blog/picking-time/。
如果有人对另一个 JavaScript TimPicker 感兴趣,我开发并维护了一个 jQuery 插件来完成这项工作。它的工作原理类似于 EZ Time JS(尽管我直到 5 分钟前才知道它:D),允许用户以几乎任何他们觉得舒服的方式输入时间,并将输入转换为通用格式。
查看jQuery TimePicker 选项页面以查看它的实际效果。