laydate只顯示時分 不顯示秒的功能實現

場景

最近有個需求,需要選擇時間段,例如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。

實現效果如圖所示。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章