求助:jQuery Timepicker步长30分钟时如何将最后选项设为23:59
解决方案:让jQuery Timepicker显示23:59为最后选项
问题出在step参数和forceRoundTime默认行为的冲突上:
- 你的step设置为30分钟,时间选择器会从9:00pm开始,每次累加30分钟生成选项
- 11:30pm加30分钟是12:00am,超过了11:59pm的maxTime,所以最后一个选项停在11:30pm
- 默认开启的
forceRoundTime会强制所有选项都对齐step间隔,导致非step倍数的11:59pm被忽略
你只需要添加forceRoundTime: false参数,就能让时间选择器保留maxTime的精确值,即使它不符合step间隔:
$(function() { $('#durationExample').timepicker({ 'minTime': '9:00pm', 'maxTime': '11:59pm', 'step': '30', 'showDuration': true, 'forceRoundTime': false }); });
这个参数的作用是关闭时间的自动四舍五入,允许显示和选择与step间隔不匹配的时间点,这样11:59pm就会作为最后一个选项出现在列表中。
内容的提问来源于stack exchange,提问作者Tim M
相关产品推荐
相关产品推荐

