JQuery UI datapicker 設定民國年

  • 3813
  • 0

摘要:JQuery UI datapicker 設定民國年

這是一個簡單的入門功能修改,與各位新進分享一下XD。

方法一: 修改jquery-ui-XXX.js (記得不要開min.js)

找到 formatDate: function (format, date, settings) 這個function

裡面有一段關於format的內容如下:

-----//  jquery-ui-XXX.js

switch (format.charAt(iFormat)) {
                 case "d":
                       output += formatNumber("d", date.getDate(), 2);
                 break;
                 case "D":
                       output += formatName("D", date.getDay(), dayNamesShort, dayNames);
                 break;
                 case "o":
                       output += formatNumber("o",
                       Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
                 break;
                 case "m":
                       output += formatNumber("m", date.getMonth() + 1, 2);
                 break;
                 case "M":
                       output += formatName("M", date.getMonth(), monthNamesShort, monthNames);
                 break;
                 case "y":
                       output += (lookAhead("y") ? date.getFullYear() :
                       (date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100);
                 break;
                 case "@":
                       output += date.getTime();
                 break;
                 case "!":
                       output += date.getTime() * 10000 + this._ticksTo1970;
                 break;
                 case "R": //August 2014-03-05 民國年
                        output += (date.getFullYear() - 1911);
                 break;
                 case "'":
                 if (lookAhead("'")) {
                 output += "'";
} else {
literal = true;
}
break;
default:
output += format.charAt(iFormat);
}
 
在上列部份加入紅字部份
 
-----//使用的頁面   XXX.htm 
引用的部份
 
 $("input[id='MainContent_Date']").datepicker(
                {
                    dateFormat: "R/mm/dd"//,
                }
                );
 
方法二:
在select完的時候做手腳,如下:
 
 $("input[id='MainContent_P_babyBirth']").datepicker(
                {
                    dateFormat: "yy/mm/dd",
                    onSelect: function (dateText, inst) {
                        dateText = dateText - 19110000;
                        dateText = dateText.toString().substr(0, 3) + '/' + dateText.toString().substr(3, 2) + '/' + dateText.toString().substr(5, 2);
                        $(this).val(dateText);
                    }
                }
                );
 
以上小小分享。