JQuery UI 支援日期+時間的元件,
網頁中head中需要先寫, 引入一些指令碼
<head>
<link href="/Scripts/jquery-ui.css" rel="stylesheet" />
<link href="/Scripts/jquery-ui-timepicker-addon.css" rel="stylesheet" />
<script src="/Scripts/jquery-1.10.2.min.js"></script>
<script src="/Scripts/jquery-ui.js"></script>
<script src="/Scripts/jquery-ui-timepicker-addon.js"></script>
</head>
複製程式碼
還有,在body中的顯示元件,是這樣子的
<input type="text" value="" placeholder="開始時間" name="input_datetime_start" id="datetimepicker" onchange="changeDate(this)" />
<input type="text" value="" placeholder="結束時間" name="input_datetime_end" id="datetimepicker2" />
複製程式碼
接著,在body中的指令碼中寫實現
$(document).ready(function () {
// 元件支援中文顯示
$.datepicker.regional['zh-CN'] = {
clearText: '清除',
clearStatus: '清除已選日期',
closeText: '關閉',
closeStatus: '不改變當前選擇',
prevText: '<上月',
prevStatus: '顯示上月',
prevBigText: '<<',
prevBigStatus: '顯示上一年',
nextText: '下月>',
nextStatus: '顯示下月',
nextBigText: '>>',
nextBigStatus: '顯示下一年',
currentText: '今天',
currentStatus: '顯示本月',
monthNames: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
monthNamesShort: ['一','二','三','四','五','六', '七','八','九','十','十一','十二'],
monthStatus: '選擇月份',
yearStatus: '選擇年份',
weekHeader: '周',
weekStatus: '年內周次',
dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
dayNamesShort: ['週日','週一','週二','週三','週四','週五','週六'],
dayNamesMin: ['日','一','二','三','四','五','六'],
dayStatus: '設定 DD 為一週起始',
dateStatus: '選擇 m月 d日, DD',
dateFormat: 'yy-mm-dd',
firstDay: 1,
initStatus: '請選擇日期',
isRTL: false
};
$.datepicker.setDefaults($.datepicker.regional['zh-CN']);
//$.datepicker.formatDate("yy-mm-dd", new Date(2007, 1 - 1, 26));
$('#datetimepicker').datetimepicker({
needDay: true,
changeMonth: true, //顯示月份
changeYear: true, //顯示年份
showButtonPanel: true,
timeInput: true,
onSelect: function (dateText, inst) {
$("#datetimepicker2").datetimepicker("option", "minDate", dateText);
},
dateFormat: "yy-mm-dd",
timeFormat: "HH:mm:ss"
});
$('#datetimepicker2').datetimepicker({
needDay: true,
changeMonth: true, //顯示月份
changeYear: true, //顯示年份
showButtonPanel: true,
timeInput: true,
onSelect: function (dateText, inst) {
//$("#datetimepicker").datetimepicker("option", "maxDate", dateText);
},
dateFormat: "yy-mm-dd",
timeFormat: "HH:mm:ss"
});
}複製程式碼
當第一個輸入的開始時間選好後,為你自動填充第二個的結束時間, 看下面的指令碼實現
function changeDate(clickDate) {
let val = $(clickDate).val();
if (val.trim() == '') return;
var theDate = $.trim(val.split(" ")[0]);//頁面上第一個文字框的日期值
var sdate = new Date(theDate);
var edate = sdate;
edate.setDate(edate.getDate() + 1);
let m = edate.getMonth() + 1;
if (m < 10) m = '0' + m;
let d = edate.getDate();
if (d < 10) d = '0' + d;
$('#datetimepicker2').val(edate.getFullYear() + '-' + m + '-' + d + ' ' + val.split(" ")[1]);
}複製程式碼
資料引用:
1. 時間元件
2. 兩個時間框關聯
3. 中文顯示 www.cnblogs.com/lost-1987/a…