<input id="startDate" type="text" οnfοcus="WdatePicker({maxDate:'#F{$dp.$D(\'endDate\')||\'2500-01-01\'}'})"/>
<input id="endDate" type="text" οnfοcus="WdatePicker({minDate:'#F{$dp.$D(\'startDate\')}',maxDate:'2500-01-01'})" />
//日期控件组(开始时间—结束时间),日期选择不能超过今天,同时选择好开始时间后自动跳转至结束时间控件:
// 初始化起始日期选择
$.initDateGroupOption = function (p) {
p = $.extend({
startEl: '', // 开始日期元素的“id”
endEl: '', // 结束日期元素的“id”
dateDiffEl: '', // 日期差元素的“id”
isMaxDate: true, // 是否限制最大日期
onSelected: false // 选择日期后,回调函数
//required:false
}, p);
var $dateDiff = $("#" + p.dateDiffEl);
$dateDiff.prop("readonly", true);
$("#" + p.startEl).on("focus", function () {
var $endDate = $dp.$(p.endEl);
WdatePicker({
maxDate: p.isMaxDate ? '#F{$dp.$D(\'' + p.endEl + '\') || \'%y-%M-%d\'}' : '#F{$dp.$D(\'' + p.endEl + '\')}',
onpicked: function () {
var startDate = $dp.cal.getNewDateStr(),
endDate = $dp.$(p.endEl).value;
if (p.dateDiffEl) {
var diff = $.dayDiff(startDate, endDate);
$dateDiff.val(diff);
}
if (p.onSelected) {
p.onSelected(startDate ,endDate);
}
$endDate.focus();
}
});
}).prop("readonly", true);
$("#" + p.endEl).on("focus", function () {
WdatePicker({
minDate: '#F{$dp.$D(\'' + p.startEl + '\')}',
maxDate: p.isMaxDate ? '%y-%M-%d' : '',
onpicked: function () {
var startDate = $dp.$(p.startEl).value,
endDate = $dp.cal.getNewDateStr();
if (p.dateDiffEl) {
var diff = $.dayDiff(startDate, endDate);
$dateDiff.val(diff);
}
if (p.onSelected) {
p.onSelected(startDate, endDate);
}
}
});
}).prop("readonly", true);
};
// 日期差,返回天数
$.dayDiff = function (beginDate, endDate) {
var day = new Date(endDate) - new Date(beginDate);
day = (Math.floor(day / (24 * 3600 * 1000)) + 1);
return day;
}
//前端初始化时间控件方式如下:
//初始化付款时间
$.initDateGroupOption({
startEl: "txtStartTime",
endEl: "txtEndTime"
});