jQuery cxCalendar 日期選擇器
簡介
cxCalendar 是基於 jQuery 的日期選擇器外掛。
它靈活自由,你可以自定義外觀,日期的範圍,返回的格式等。
版本:
- jQuery v1.7+
- jQuery cxCalendar v1.5.3
下載地址及演示
線上演示地址:http://www.jqhtml.com//wp-content/uploads/2017/05/wz/jQuery.cxCalendar-1.5.3/
下載地址:點選下載
GitHub地址:https://github.com/ciaoca/cxCalendar/
使用方法
載入 CSS 檔案
<link rel="stylesheet" href="jquery.cxcalendar.css">
載入 JavaScript 檔案
<script src="jquery.js"></script>
<script src="jquery.cxcalendar.js"></script>
DOM 結構
<input id="element_id" type="text">
呼叫 cxCalendar
$('#element_id').cxCalendar();
設定全域性預設值
// 需在引入 <script src="jquery.cxcalendar.js"></script> 之後,呼叫之前設定 $.cxCalendar.defaults.startDate = 1980; $.cxCalendar.defaults.language = { monthList: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], weekList: ['Sun', 'Mon', 'Tur', 'Wed', 'Thu', 'Fri', 'Sat'] };
引數說明
名稱 | 預設值 | 說明 |
---|---|---|
startDate | 1950 | 起始日期 若指定年份,設定值為 4 位數的數字 若指定某一天,設定值為字串或時間戳,該值能被 |
endDate | 2030 | 結束日期 若指定年份,設定值為 4 位數的數字 若指定某一天,設定值為字串或時間戳,該值能被 |
date | undefined | 預設日期 預設獲取當前日期,自定義可使用字串或時間戳,該值能被 ※ input 中的 value 值優先順序要高階此值 |
type | 'date' | 日期型別(v1.5 新增) 'date': 只選擇日期 'datetime': 選擇日期和時間 |
format | 'YYYY-MM-DD' | 日期值格式(自 v1.5 開始,之前版本的 type 更名為 format) 'YYYY': 年份,完整 4 位數字 'YY': 年份,僅末尾 2 位數字 'MM': 月份,數字帶前導零(01-12) 'M': 月份(1-12) 'DD': 月份中的第幾天,數字帶前導零(01-31) 'D': 月份中的第幾天(1-31) 'HH': 小時,24 小時格式,數字帶前導零(00-23) 'H': 小時,24 小時格式(0-23) 'hh': 小時,12 小時格式,數字帶前導零(01-12) 'h': 小時,12 小時格式(1-12) 'mm': 分鐘,數字帶前導零(00-59) 'm': 分鐘(0-59) 'ss': 分鐘,數字帶前導零(00-59) 's': 分鐘(0-59) 'TIME': 時間戳 'STRING': 日期的字串,例:Wed Jul 28 1993 |
wday | 0 | 星期開始於周幾,可設定為:0-6 之間的數字 0: 星期日 1: 星期一 2: 星期二 3: 星期三 4: 星期四 5: 星期五 6: 星期六 |
position | undefined | 面板顯示的位置詳見:[Demo Position] |
baseClass | undefined | 給面板容器增加 class,不會覆蓋預設的 class |
language | undefined | 自定義語言,值型別可是是字串或物件 若為字串,為語言配置檔案中的屬性名稱(需要載入 若為物件,則按照物件所設定的語言 |
data 屬性引數
名稱 | 說明 |
---|---|
data-start-date | 起始日期 |
data-end-date | 結束日期 |
data-type | 日期型別 |
data-format | 日期值格式 |
data-position | 面板顯示的位置 |
data-wday | 星期開始於周幾 |
data-language | 自定義語言 |
<input id="element_id" type="text" value="1988-1-31" data-start-date="2000" data-end-date="2015" data-format="YYYY/M/D" data-language="en">
data 屬性設定的引數優先順序要高於呼叫時引數設定的值
多語言配置說明
只需載入jquery.cxcalendar.languages.js
,即可根據使用者的語言環境,自動顯示對應的語言。
名稱 | 預設值 | 說明 |
---|---|---|
monthList | ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'] | 月份的名稱。 |
weekList | ['日', '一', '二', '三', '四', '五', '六'] | 星期的名稱。從星期日開始排序。 |
holiday | [] | 節假日配置。 |
API 介面
var Api;
$('#element_id').cxCalendar(function(api){
Api = api;
});
// 或者作為第二個引數傳入
$('#element_id').cxCalendar({
type: 'YYYY/M/D'
}, function(api){
Api = api;
});
名稱 | 說明 |
---|---|
show() | 顯示面板 |
hide() | 隱藏面板 |
getDate(style) | 獲取當前選擇的日期(style 格式與引數 format 相同) |
setDate(value) | 傳入一個字串來設定日期 |
setDate(year, month, day) | 分別傳入年、月、日來設定日期 |
gotoDate(value) | 傳入一個字串來調整日期(只是顯示面板變化,不會進行設定值) |
gotoDate(year, month) | 分別傳入年、月來調整日期(只是顯示面板變化,不會進行設定值) |
clearDate() | 清除日期值 |
setOptions(opt) | 重新設定引數 |