JQ UI 日期選擇器

透過JQ UI 來實現 日期選擇器,為什麼要使用JQUI

因為不知明原因大陸那邊用boostrap datepicker 會有的手機跳不出來的問題。

此外透過大陸那邊的IE 會出現錯誤

後來發現用JQ UI的datepicker 都可以使用(連維信掃都可以) 因此記錄

引用JQuery UI 的網址
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
 HTML 寫一個inut text
<p>Date: <input type="text" id="datepicker"></p>
JS
$( function() {
  $( "#datepicker" ).datepicker();
} );

 這樣最簡單的日曆就完成了

想要將上方可以選擇年份月份且改成yyyy/mm/dd
 $( function() {
    $( "#datepicker" ).datepicker({
      //年份可以選擇
      changeYear: true,
      //月份可以選擇
      changeMonth: true,
      //設定 下拉式選單月份 在 年份的後面
      showMonthAfterYear: true,
      //設定月份縮寫
      monthNamesShort: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
      dateFormat: "yy/mm/dd"
    
    });
  } );

想要年份有個range

 JS的地方

yearRange: "1990:1995"

 

也可以使用變數替換

 $( function() {
      var lastY = "1990";
      var sysY = "1995";
    $( "#datepicker" ).datepicker({
       //年份可以選擇
       changeYear: true,
      yearRange: lastY + ":" + sysY
    
    });
  } );

想要選擇時間只能區間(EX:今天不算,往後三個月內 )
 $( function() {
    $( "#datepicker" ).datepicker({      
       dateFormat: 'yy/mm/dd',
        //從今天算起再加一天
        minDate: +1,
        //三個月
        maxDate: "+3M "
     });
});

假日不能選
 $( function() {
    $( "#datepicker" ).datepicker({     
       dateFormat: 'yy/mm/dd',
        //從今天算起再加一天
        minDate: +1,
        //三個月
        maxDate: "+3M ",
        //增加方法
        beforeShowDay: notShowDay,
        showMonthAfterYear: true,//設定 下拉式選單月份 在 年份的後面
        //設定月份縮寫
        monthNames: ["/ 01", "/ 02", "/ 03", "/ 04", "/ 05", "/ 06", "/ 07", "/ 08", "/ 09", "/ 10", "/ 11", "/ 12"]                      
  });
});


function notShowDay(a) { 
      //getDay 星期日= 0     
      a = a.getDay();
        return [a > 0 && a < 6, ""];      
}