繁体   English   中英

Select 日期仅从今天起 2 天

[英]Select date 2 days from today only

我想使用日期选择器显示日期。 需要在 select 组件中获取今天的日期并显示接下来的 2 天日期。

这可以使用 JavaScript 和 jQuery 吗?

我发现了一个类似的帖子,但我希望它出现在日期选择器上: 获取今天日期和接下来的 2 天 - 在 select 选项中显示

<input type="date" id="" value="">

像这样?

 const date = new Date(2020,10,28,15,0,0,0); // today, remove the numbers inside when happy document.getElementById("today").innerHTML = `Let's say today is ${date.toLocaleString()}` date.setDate(date.getDate()+2); let day = date.getDate(); const lastDay = new Date(date.getFullYear(), date.getMonth()+1,0,15,0,0,0).getDate(); const sel = document.getElementById("day"); sel.options[sel.options.length] = new Option(day,day) day = day+1>lastDay? 1: day+1 sel.options[sel.options.length] = new Option(day,day)
 <span id="today"></span><br/> <select class="select day" id="day"> <option value="" selected="selected">DD</option> </select>

是的,您可以使用 javascript 和 jquery 创建。 检查小提琴https://jsfiddle.net/s7nrfeqL/

html代码

Select Date: <input type="date" id="datepicker"/><br>
    <select id="selectDay" class="select day">
</select>

javascript + jquery 代码

document.addEventListener('DOMContentLoaded', (event) => {
    $( "#datepicker" ).on("change",function(){
        var dateRange = document.getElementById('selectDay'),
        monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", 
        "Sep", "Oct", "Nov", "Dec"];
        $(dateRange).empty();

        for(var day = 1; day < 3; day++) {
          var date = new Date($( "#datepicker" ).val());
          date.setDate(date.getDate() + day);
          dateRange.options[dateRange.options.length] = new 
          Option([date.getDate(), monthNames[date.getMonth()], 
          date.getFullYear()].join(' '), date.toISOString());
        }

     });
})

仅创建用户需要 select 的日期。 不要创建 31 天并禁用不需要的天数,由于客户端代码,用户仍然可以 select 禁用天数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM