1.將下載下來的DatePicker壓縮包解壓后整個放入項目中,不可只引入js和css
2.在html中指定input位置加上class="Wdate"(默認樣式不加也可正常顯示),然后指定id(利用jquery綁定事件,也可使用js的方式,直接onclick="WdatePicker()")
假設id="time",則點擊事件如下:
$("#time").click(function () { WdatePicker({ onpicked:function(){ chaseTime = $("#time").val(); } }); });
3.WdatePicker()參數中寫屬性,如position位置屬性等,可添加skin:'whyGreen'參數給日期控件換皮膚,示例為點擊日期后觸發事件作參數{onpicked:function(){}},然后就可以使用指定的id獲取到value值為點擊的日期傳到后台了,但是出現個問題是需要點兩次輸入框才可彈出日期控件。
解決方案一:
1.在input標簽中加上onclick事件 onclick="WdatePicker({startDate:'%y-%M-%d ',maxDate:'%y-%M-%d',dateFmt:'yyyy-MM-dd ',autoPickDate:true})" ,目的是使每點擊一次日期就彈出日期控件。
2.上面第二個步驟中的click方法改為focus方法(不能同時為click和onclick,會造成無效)。
3.在WdatePicker函數后面加上 $("#time").blur(); ,目的是使每次點擊日期后都失焦,這樣就可以完成功能了。
解決方案二:
方案一略微繁瑣,主要是有一些問題,比如說上面的maxDate:'%y-%M-%d'已經設置了當前日期為最大日期,但是用方案一的方法有時候會失效,下面介紹方案二:
1.在input標簽中加上onclick或onfocus事件 onclick="WdatePicker({startDate:'%y-%M-%d ',maxDate:'%y-%M-%d',dateFmt:'yyyy-MM-dd ',autoPickDate:true})" ,目的是使每點擊一次日期就彈出日期控件。
2.上面第二個步驟中的click方法改為change方法(不能同時為click和onclick,會造成無效)。
解決方案三:
按方案二的來也有問題,就是選中日期后無法觸發onpicked函數,原因是WdatePicker內部會對change進行其他設置,進而失效,所以引出方案三:
1.onclick="WdatePicker({startDate:'%y-%M-%d ',maxDate:'%y-%M-%d',dateFmt:'yyyy-MM-dd ',autoPickDate:true})"
在上面加入onpicked:changeTime,然后js中寫函數就可以拿到選中日期值了,onclick可以換成onfocus效果一樣,但是onfouc多次刷新后日期控件會點擊不彈出,存在bug,不如onclick好,推薦onclick。onclick也有問題,就是多次刷新后需要點擊兩次控件才彈出來。
function changeTime(){ $("#id").val() }
2.也可加清空的觸發操作,類似onpicked,添加oncleared即可。
4.效果如下:
5.壓縮包路徑自取:
鏈接:https://pan.baidu.com/s/17eFYpUhqOW4AnIeB7sNYQw
提取碼:66jq
6.官方文檔地址:
http://www.my97.net/demo/index.htm