JQuery是一款非常優秀的腳本框架,其豐富的控件使用起來也非常簡單,配置非常靈活。下面做一個使用日期插件datapicker的例子。
1、下載jQuery核心文件就不用說了吧,datepicker是輕量級插件,只需jQuery的min版本就行了,然后到官網http://jqueryui.com/download下載jquery-ui壓縮包(可以選擇喜歡的theme),里面就包含對datepicker的支持,當然您也可以網站http://marcgrabanski.com/pages/code/jquery-ui-datepicker下載datepicker,包括ui.core.js和ui.datepicker.js。
2、在HTML中引用下載下來的js文件:
<!-- 引入 jQuery --> <mce:script src="js/jquery.1.4.2.js" mce_src="js/jquery-1.5.1.min.js" type="text/javascript"></mce:script> <!--添加datepicker支持--> <mce:script src="js/jquery.ui.core.js" mce_src="js/jquery.ui.core.js" type="text/javascript"></mce:script> <mce:script src="js/jquery.ui.datepicker.js" mce_src="js/jquery.ui.datepicker.js" type="text/javascript"></mce:script>
3.在HTML中引入默認樣式表文件,這個文件在ui壓縮包中。如果在官網下載,首頁就有這個CSS文件下載,也可選擇其他皮膚的CSS。
<!--引入樣式css--> <link type="text/css" rel="stylesheet" href="css/jquery-ui-1.8.13.custom.css" mce_href="css/jquery-ui-1.7.3.custom.css" />
4.在HTML中插入文本域,最好設置成只讀,不接受用戶的手動輸入,防止格式混亂,以id標記好。
<input type="text" id="selectDate" readonly="readonly"/>
5.編寫js代碼,實現最終效果。
$(document).ready(function() {
$('#selectDate').datepicker();
});
這里只是做了一個最基本的日期控件,我們還需要以中文顯示,限制日期選擇范圍等需求,稍微修改js代碼:
<mce:script type="text/javascript"><!-- //等待dom元素加載完畢. $(function(){ $("#selectDate").datepicker({//添加日期選擇功能 numberOfMonths:1,//顯示幾個月 showButtonPanel:true,//是否顯示按鈕面板 dateFormat: 'yy-mm-dd',//日期格式 clearText:"清除",//清除日期的按鈕名稱 closeText:"關閉",//關閉選擇框的按鈕名稱 yearSuffix: '年', //年的后綴 showMonthAfterYear:true,//是否把月放在年的后面 defaultDate:'2011-03-10',//默認日期 minDate:'2011-03-05',//最小日期 maxDate:'2011-03-20',//最大日期 monthNames: ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'], dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'], dayNamesMin: ['日','一','二','三','四','五','六'], onSelect: function(selectedDate) {//選擇日期后執行的操作 alert(selectedDate); } }); }); // --></mce:script>
這里基本上就滿足我們使用的需要了。datepicker控件默認是英文的,可以在構造datepicker時通過monthNames、dayNames屬性來指定月、日的中文顯示值,但是每次使用是都配置這些屬性不免太麻煩了,可以增加一個js文件將中文配置都放在里面,每次使用直接引用即可,這里放在jquery.ui.datepicker-zh-CN.js中,內容如下:
jQuery(function($){ $.datepicker.regional['zh-CN'] = { closeText: '關閉', prevText: '<上月', nextText: '下月>', currentText: '今天', monthNames: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'], monthNamesShort: ['一','二','三','四','五','六', '七','八','九','十','十一','十二'], dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'], dayNamesMin: ['日','一','二','三','四','五','六'], weekHeader: '周', dateFormat: 'yy-mm-dd', firstDay: 1, isRTL: false, showMonthAfterYear: true, yearSuffix: '年'}; $.datepicker.setDefaults($.datepicker.regional['zh-CN']); });
6.在頁面中引入中文插件
<!-- 添加中文支持--> <mce:script src="js/jquery.ui.datepicker-zh-CN.js" mce_src="js/jquery.ui.datepicker-zh-CN.js" type="text/javascript"></mce:script>
完整的頁面代碼如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <TITLE>日期控件datepicker</TITLE> <!-- 引入 jQuery --> <mce:script src="js/jquery.1.4.2.js" mce_src="js/jquery.1.4.2.js" type="text/javascript"></mce:script> <!--添加datepicker支持--> <mce:script src="js/jquery.ui.core.js" mce_src="js/jquery.ui.core.js" type="text/javascript"></mce:script> <mce:script src="js/jquery.ui.datepicker.js" mce_src="js/jquery.ui.datepicker.js" type="text/javascript"></mce:script> <!-- 或者引入jquery ui包,其中也包含對datepicker的支持 <mce:script src="js/jquery-ui-1.7.3.custom.min.js" mce_src="js/jquery-ui-1.7.3.custom.min.js" type="text/javascript"></mce:script> --> <!--引入樣式css--> <link type="text/css" rel="stylesheet" href="css/jquery-ui-1.7.3.custom.css" mce_href="css/jquery-ui-1.7.3.custom.css" /> <!-- 添加中文支持--> <mce:script src="js/jquery.ui.datepicker-zh-CN.js" mce_src="js/jquery.ui.datepicker-zh-CN.js" type="text/javascript"></mce:script> <mce:script type="text/javascript"><!-- //等待dom元素加載完畢. $(function(){ $("#selectDate").datepicker({//添加日期選擇功能 numberOfMonths:1,//顯示幾個月 showButtonPanel:true,//是否顯示按鈕面板 dateFormat: 'yy-mm-dd',//日期格式 clearText:"清除",//清除日期的按鈕名稱 closeText:"關閉",//關閉選擇框的按鈕名稱 yearSuffix: '年', //年的后綴 showMonthAfterYear:true,//是否把月放在年的后面 defaultDate:'2011-03-10',//默認日期 minDate:'2011-03-05',//最小日期 maxDate:'2011-03-20',//最大日期 //monthNames: ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'], //dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], //dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'], //dayNamesMin: ['日','一','二','三','四','五','六'], onSelect: function(selectedDate) {//選擇日期后執行的操作 alert(selectedDate); } }); }); // --></mce:script> </HEAD> <BODY> <input type="text" id="selectDate" readonly="readonly"/> </BODY> </HTML>
注意:由於jquery datepicker首頁http://marcgrabanski.com/articles/jquery-ui-datepicker上ui.core.js和ui.datepicker.js不是最新版本的,如果下載新版本jquery-ui-1.8.13中的css文件會造成日期控件不能顯示的問題,所以這里使用了1.7.3的ui。簡單一點就是用jquery-ui的壓縮js。