layui laydate实现日期选择并禁用指定的时间

最终实现禁用2023-9-26这天的效果
在这里插入图片描述
官网地址 日期和时间组件文档 - layui.laydate

下面是实现的代码

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>layDate快速使用</title>
  <link rel="stylesheet" href="/static/build/layui.css" media="all">
</head>
<body>
 
<div class="layui-inline"> <!-- 注意:这一层元素并不是必须的 -->
  <input type="text" class="layui-input" id="test1">
</div>
 
<script src="/static/build/layui.js"></script>
<script>
layui.use('laydate', function(){
  var laydate = layui.laydate;
  function getEndDate() {
  	 let date = new Date()
     let year = date.getFullYear()
     let month = date.getMonth() + 1
     let day = date.getDate()
     if (month < 10) {
         month = "0" + month
     }
     if (day < 10) {
         day = "0" + day
     }
         return endYear = year + '-' + month + '-' + day
  }
  getEndDate()
  //执行一个laydate实例
  laydate.render({
    elem: '#test1', //指定元素
    min: -7 //7天前,
    max: endYear, //最大时间
    ready: function (date) {
         disableDate()
    },
    change: function (date) {
        disableDate()
    },
  });
  
  const disableDate = () => {
        const tdElements = document.querySelectorAll('.layui-laydate-content td');
		tdElements.forEach(td => {
        let targetDate = td.getAttribute('lay-ymd');
            if (targetDate == '2023-9-26') {  //这里循环禁用需要禁用的日期
                  td.classList.add('laydate-disabled');
            	}
            });
       }
});
</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您好!对于ele日期选择禁用开始时间比结束时间大的小时,您可以使用以下方法来实现: 1. 首先,您需要获取开始时间和结束时间的小时数。 2. 然后,比较开始时间和结束时间的小时数,如果开始时间大于结束时间,即开始时间的小时数大于结束时间的小时数,那么您可以禁用这些小时。 3. 在ele日期选择器的配置中,使用 "disabled-hours" 属性来禁用指定的小时。您可以将开始时间大于结束时间的小时数传递给该属性。 以下是一个示例代码片段,演示如何在ele日期选择器中禁用开始时间比结束时间大的小时: ```javascript <template> <el-date-picker v-model="date" type="datetime" :picker-options="pickerOptions" ></el-date-picker> </template> <script> export default { data() { return { date: null, pickerOptions: { disabledHours: this.getDisabledHours } }; }, methods: { getDisabledHours() { if (!this.date) { return []; } const startHour = this.date.getHours(); const endHour = this.dateEnd.getHours(); if (startHour > endHour) { // 禁用开始时间比结束时间大的小时 return Array.from({ length: 24 }, (v, i) => i).slice(endHour + 1, startHour); } return []; } } }; </script> ``` 在上述示例中,我们使用了一个计算属性 `pickerOptions` 来配置ele日期选择器的选项。其中,`disabledHours` 函数用于返回要禁用的小时数数组。我们通过比较开始时间和结束时间的小时数,来确定要禁用的小时范围。如果开始时间大于结束时间,我们通过 `slice` 方法从结束时间的下一个小时到开始时间的前一个小时来获取要禁用的小时数数组。 请注意,示例代码中的 `el-date-picker` 是基于Element UI库的一个组件。您可以根据自己的需求进行相应的调整和修改。 希望这能帮助到您!如有任何疑问,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jet_closer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值