首页 > 解决方案 > 从另一个 Datepicker 值设置 Datepicker MAX 日期

问题描述

所以我有这个简单的日期选择器

<input asp-for="D_From" type="date" onchange="myFunction()" id="dfrom" min="1945-01-01" max="9999-12-31" class="form-control">
<input asp-for="D_To" type="date" id="dto" class="form-control">

这是我当前的脚本

<script type="text/javascript">
        function myFunction() {
            var x = document.getElementById("dfrom").value;
            document.getElementById("dto").min = x;
        }
    </script>

我想将最大值设置为 dfrom 中选择的日期

例如:如果 dfrom 日期是 2020-01-01,我想要 dto max 2020-01-31

标签: javascripthtmldatepicker

解决方案


您可以使用以下脚本实现此目的。

<input asp-for="D_From" type="date" onchange="myFunction()" id="dfrom" min="1945-01-01" max="9999-12-31" class="form-control">
<input asp-for="D_To" type="date" id="dto" class="form-control">
<script type="text/javascript">
  function myFunction() {
    var x = document.getElementById("dfrom").value;
    document.getElementById("dto").min = x;
    var month = x.split('-')[1]; // chosen month
    var d = new Date(2008, month, 0);
    var lastDay = d.getDate(); // last day of month
    var maxDate = x.split('-')[0] + '-' + x.split('-')[1] + '-' + lastDay;
    document.getElementById("dto").max = maxDate;

  }

</script>

有很大的改进空间,但我希望你能得到大致的想法。


推荐阅读