2017-08-03 63 views
1

嘿傢伙的我有一個日期選擇器,我禁用了週末。但問題是,用戶可以鍵入日期在週末日期選擇器(忽略無效日期)

$("[name=startdatecontract]").datepicker({ 
    minDate : 2, 
    beforeShowDay: $.datepicker.noWeekends 
}); 

用戶必須能夠寫它。但是我需要一些忽略或者在週末時發生錯誤的東西。 +如果日期是不是2天,從今天

回答

1

試試這個代碼

這裏我檢查用戶輸入的日期是週末或不和(+如果日期是不是從今天2天)上change功能

$("#datepicker").datepicker({ 
minDate : 2, 
beforeShowDay: $.datepicker.noWeekends 
}).on("change", function(e) { 
var curDate = $(this).datepicker("getDate"); 
var minDate = $("#datepicker").datepicker("option", "minDate"); 
var maxDate = new Date(new Date().setDate(new Date().getDate() + minDate)); 
var datee=(this.value, curDate)>=maxDate?(this.value, curDate):null; 
    if(datee!==null){ 
      var day = datee.getDay(); 
      if (day==6||day==0) { 
       alert("invalid date"); 
       this.value=""; 
      } 
    } 
    else{ 
      alert("invalid date"); 
      this.value=""; 
    } 
    }); 

$("#datepicker").datepicker({ 
 
minDate : 2, 
 
beforeShowDay: $.datepicker.noWeekends 
 
}).on("change", function(e) { 
 
var curDate = $(this).datepicker("getDate"); 
 
var minDate = $("#datepicker").datepicker("option", "minDate"); 
 
var maxDate = new Date(new Date().setDate(new Date().getDate() + minDate)); 
 
var datee=(this.value, curDate)>=maxDate?(this.value, curDate):null; 
 
if(datee!==null){ 
 
     var day = datee.getDay(); 
 
     if (day==6||day==0) { 
 
      alert("invalid date"); 
 
      this.value=""; 
 
     } 
 
} 
 
else{ 
 
     alert("invalid date"); 
 
     this.value=""; 
 
} 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
 
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css"> 
 
<div class="block"> 
 
    <input id="datepicker" type="text" /> 
 
</div>

+0

謝謝!它工作 – namzaG

+0

不客氣:)快樂的編碼..! – Amal

0
function checkDate(){ 

    var a = document.getElementById("startdatecontract").value; 
    var dates = a.split("-"); 
    a = dates[1]+'/'+dates[0]+'/'+dates[2]; 
    var d = new Date(); 

    if((d.getMonth() + 1)<=9) 
    { 
     var today = '0'+(d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear(); 
    } 
    else 
    { 
     var today=(d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear(); 
    } 
    today=today.toString(); 
    a = new Date(a).getTime(); 
    today = new Date(today).getTime(); 

    if (a < today) 
    { 
     $("#startdatecontract").val(""); 
     alert("Availability date should not be past date."); 
     document.getElementById("startdatecontract").value = ""; 
    } 

} 
+0

Thnx爲你的時間;) – namzaG