场景
最近有个需求,需要选择时间段,例如10:00 ~ 12:30。
目前的系统前端用的是layui,时间插件自然是选择了laydate。
查阅了laydate的api发现并没有直接可以设置去掉秒并且分钟只显示整10的配置。
然后就决定动手自己写一下。
layui.use('laydate',function(){ var laydate = layui.laydate; laydate.render({ elem: '#scheStartTime'+trindex,type:'time',trigger:'click',format: 'HH:mm',btns: ['clear','confirm'],ready: formatminutes }); });
首先设置format为'HH:mm' 格式,去除掉秒的展示。然后在ready中写一个方法,ready的方法会在绑定之前执行。
function formatminutes(date){ var aa = $(".laydate-time-list li ol")[1]; var showtime = $($(".laydate-time-list li ol")[1]).find("li"); for (var i = 0; i < showtime.length; i++) { var t00 = showtime[i].innerText; if (t00 != "00" && t00 != "10" && t00 != "20" && t00 != "30" && t00 != "40" && t00 != "50") { showtime[i].hidden = true; } } $($(".laydate-time-list li ol")[2]).find("li").remove(); //清空秒 }
formatminutes方法中进行移除非整10的分钟(此处最好使用hidden不要使用remove,我发现remove会导致设置最大值最小值时候出现问题),并且移除掉秒的li。
实现效果如图所示。
以上这篇laydate只显示时分 不显示秒的功能实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。