時間插件呢,我以前用的是My97DatePicker,效果如圖
最近用的是jeDate,如圖
這個插件也是踩坑~~~記錄一下
1.選擇時間后,再次選擇時間,時間會被重置為今天
找到jedate.js中的getCurrValue方法,添加代碼
var mats = jet.reMatch(that.format), isEmpty = that.getValue() != "", curVal = [],parmat = that.dlen == 7 ? "hh:mm:ss" : "YYYY-MM" + (that.dlen <= 2 ? "" : "-DD"); //修改Begin(Important!) var result = that.valCell.value; result = result.substr(0, 11); var nowTime = [jet.parse(jet.getDateTime({}), parmat)]; nowTime = nowTime[0]; var time1 = new Date(result).setHours('0'); var time2 = new Date(nowTime).setHours('0'); var nDays = (parseInt((time1 - time2) / 1000 / 3600 / 24)); var redate = { DD: nDays }; //修改End that.selectValue = [jet.parse(jet.getDateTime(redate), parmat)];
2.不是坑,將開始時間設置為結束時間的最小時間
(順便設置一下時間的初始值)
//頁面加載初始化 var InitPageData = function () { jeDate('#text_btime', linkageBeginDate);//初始化開始時間 jeDate('#text_etime', linkageEndDate);//初始化結束時間 } //開始時間 function linkageBeginDate() { $("#text_btime").val(timeFormat().split(" ")[0] + " 00:00:00"); return { theme: { bgcolor: "#4aa5ff", pnColor: "#00DDAA" }, format: 'YYYY-MM-DD hh:mm:ss',//格式 minDate: '1971-01-01 00:00:00', //設定最小日期 onClose: false, value: "1971-01-01 00:00:00", maxDate: function (that) { //that 指向實例對象 var nowMaxDate = "" ? jeDate.nowDate({ DD: 0 }) : $('#text_etime').val(); return nowMaxDate }, //設定最大日期為當前日期 donefun: function (obj) { jeDate("#text_etime", linkageEndDate(false)); } }; } //結束時間 function linkageEndDate(istg) { $("#text_etime").val(timeFormat().split(" ")[0] + " 23:59:59"); return { trigger: istg || "click", theme: { bgcolor: "#4aa5ff", pnColor: "#00DDAA" }, format: 'YYYY-MM-DD hh:mm:ss', onClose: false, isinitVal: true, minDate: function (that) { var nowMinDate = "" ? jeDate.nowDate({ DD: 0 }) : $('#text_btime').val(); return nowMinDate; }, //設定最小日期為當前日期 maxDate: jeDate.nowDate({ DD: 0 }), //設定最大日期為當前日期 }; } //格式化時間 function timeFormat() { var dateTmp = new Date().toJSON(); return new Date(+new Date(dateTmp) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '') }