jQuery日歷插件datepicker用法詳解
來源:易賢網(wǎng) 閱讀:1016 次 日期:2016-08-02 16:04:32
溫馨提示:易賢網(wǎng)小編為您整理了“jQuery日歷插件datepicker用法詳解”,方便廣大網(wǎng)友查閱!

jQuery是一款不可多得的非常優(yōu)秀的javascript腳本開發(fā)庫,而基于其上的很多插件也是非常規(guī)范和卓越的,如果錯過這番美景真是太可惜了,比如datepicker這個插件。

一般MIS系統(tǒng)的前端,尤其是用戶注冊頁面,都會有諸如“出身年月”的日期輸入框,最簡單的做法就是使用一個<input type="text"/>標(biāo)簽,這樣做的弊端有很多:首先是與數(shù)據(jù)庫字段類型的匹配、其次是輸入日期的合法性如“13月”或者閏年等等問題,如果深入下去還有非常多的地方值得推敲。當(dāng)前比較流行的做法是使用下拉菜單<select><option></option></select>來構(gòu)造,但是這樣做無論交互性、復(fù)雜度和可移植性都不盡如人意,因為至少需要構(gòu)建3個聯(lián)動的下拉菜單,需要自己編寫大量的腳本處理日期合法性。

datepicker帶來了美好的春天,先看看使用默認(rèn)樣式時它的樣子:

名單

完全GUI般的用戶體驗,炫目的動態(tài)展現(xiàn)效果,精確的日期控制和高度的靈活的參數(shù)配置,這一切使得datepicker受到眾多開發(fā)者的青睞,其中包括大名鼎鼎的google,在其google calendar項目中就使用了這個腳本,有興趣可以去看看。順便啰嗦一句,上圖的默認(rèn)效果,在javascript中,用戶只需寫一句話就可以實現(xiàn)了,怎么樣,心動了吧,follow me:

1.下載jQuery核心文件就不用說了吧,datepicker是輕量級插件,只需jQuery的min版本就行了,然后下載datepicker(內(nèi)含jQuery1.2.6_min),您也可以到官方網(wǎng)站下載:http://marcgrabanski.com/pages/code/jquery-ui-datepicker。

2.在HTML中引用下載下來的兩個js:

<script language="javascript" src="js/jquery-1.2.6.min.js"></script>

<script language="javascript" src="js/ui.datepicker.js"></script>

3.在HTML中引入默認(rèn)樣式表文件,這個文件也在剛剛的壓縮包中,如果在官網(wǎng)下載,首頁就有這個CSS文件下載,也可選擇其他皮膚的CSS:

<link rel="stylesheet" href="js/ui.datepicker.css" type="text/css" media="screen" title="core css file" charset="utf-8" />

4.在HTML中插入文本域,最好設(shè)置成只讀,不接受用戶的手動輸入,防止格式混亂,以id標(biāo)記好。

<input id="dateinput" type="text" readonly="readonly"/>

5.編寫js代碼,實現(xiàn)最終效果。

<script language="javascript">

$(document).ready(function() { 

 $('#dateinput').datepicker(); 

 }); 

</script>

這樣就基本完成一個日期輸入文本域了,但是是英文的,根據(jù)不同的MIS系統(tǒng),有的目標(biāo)人群是上了年級的用戶,建議將界面改成中文,可以如此操作,稍微改動一下剛剛的函數(shù),like this:

<script language="javascript">

$(document).ready(function() { 

 $('#dateinput').datepicker({ 

  dateFormat: 'yy-mm-dd', //日期格式,自己設(shè)置

  buttonImage: 'calendar.gif', //按鈕的圖片路徑,自己設(shè)置

  buttonImageOnly: true, //Show an image trigger without any button.

  showOn: 'both',//觸發(fā)條件,both表示點擊文本域和圖片按鈕都生效

 yearRange: '1990:2008',//年份范圍

 clearText:'清除',//下面的就不用詳細(xì)寫注釋了吧,呵呵,都是些文本設(shè)置

 closeText:'關(guān)閉',

 prevText:'前一月',

 nextText:'后一月',

 currentText:' ',

 monthNames:['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],

 }); 

 }); 

</script>

OK,大功告成,我根據(jù)自己的要求,寫的頁面的代碼如下,僅供參考,自己嘗試一下吧:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>無標(biāo)題文檔</title>

<link rel="stylesheet" href="js/ui.datepicker.css" type="text/css" media="screen" title="core css file" charset="utf-8" />

<script language="javascript" src="js/jquery-1.2.6.min.js"></script>

<script language="javascript" src="js/ui.datepicker.js"></script>

<script language="javascript">

$(document).ready(function() { 

 var yearFrom=new Date().getYear()-60+1900;

 var yearTo=new Date().getYear()-18+1900; 

 $('#dateinput').datepicker({ 

 dateFormat: 'yy-mm-dd', 

 buttonImage: 'calendar.gif', 

 buttonImageOnly: true, 

 showOn: 'both',

 yearRange: yearFrom+':'+yearTo,

 clearText:'清除',

 closeText:'關(guān)閉',

 prevText:'前一月',

 nextText:'后一月',

 currentText:' ',

 monthNames:['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],

 }); 

 }); 

</script>

</head>

<body>

<input id="dateinput" type="text" readonly="readonly"/>

</body>

</html>

以上就是關(guān)于jQuery日歷插件datepicker用法詳細(xì)介紹,希望對大家的學(xué)習(xí)有所幫助。

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:jQuery日歷插件datepicker用法詳解
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)