首页 > 解决方案 > 如何使用ajax控制套件从当前日期选择三个日期之后的日期

问题描述

如何在 AJAX 控制套件中禁用当前日期(今天)三天后的所有未来日期

 <asp:TextBox ID="txtEndDate" runat="server" class="form-control"
      required="This Field is Required" AutoComplete="off"></asp:TextBox>                                                            

        <ajaxToolkit:CalendarExtender ID="CalendarExtender2" 
    runat="server" OnClientDateSelectionChanged="checkProjectEndDate"
 TargetControlID="txtEndDate" Format="dd-MMM-yyyy"></ajaxToolkit:CalendarExtender>



<script type="text/javascript">
     function checkProjectEndDate(sender, args) {
     if (sender._selectedDate >= new Date()) {
     alert("You can not select a future date than today!");
     sender._selectedDate = new Date();
     sender._textbox.set_Value(sender._selectedDate.format(sender._format))
       }
      }
</script>

它不允许在今天选择未来的日期,但我想要一些我可以从今天起选择三天后的东西让我解释一下我想要用户不能在三天后选择任何未来的日期假设今天是 01-11-2019 所以我的日历仅显示 03-11-2019 年 11 月 3 日之后所有日期不可见

标签: javascripthtmlasp.netajaxcontroltoolkit

解决方案


选择大于 3 天的日期:

var date = new Date();
date.setDate(date.getDate() + 3);
if(selected_date > date){
   // code here
}

编辑:根据你的问题检查下面的代码片段:

<script type="text/javascript">
  function checkProjectEndDate(sender, args) {

    var future_date = new Date();
    future_date.setDate(future_date.getDate() + 2);

    if (sender._selectedDate > future_date) {
      alert("You can not select a future date than today!");
      sender._selectedDate = new Date();
      sender._textbox.set_Value(sender._selectedDate.format(sender._format))
    }
  }
</script>

推荐阅读