2
我有2台的输入框:jQuery的UI日期选择器:多输入框镜像
1) “开始日期I” 和 “结束日期I”
2) “开始日期II” 和“结束日期II”
,因为它可以在这里看到:http://jsfiddle.net/YXzpj/
我需要的是,每当用户设定一条边的开始和结束日期,选择的值应该被复制到另一侧。
例如: 用户设置“开始日期I”,然后选择“结束日期I”,那么脚本应自动将这两个值都复制到“开始日期II”和“结束日期II”。如果用户更改了这四个字段中的任何一个,表单应该相应地进行更新。换句话说,这两组输入框应该相互镜像。
这里是我当前的代码:
$(function() {
var currentTime = new Date();
$('#report2from1').attr('readonly','readonly');
$('#report2to1').attr('readonly','readonly');
var dates1 = $("#report2from1, #report2to1").datepicker({
showButtonPanel: true,
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
minDate: new Date(2010, 1 -1, 1),
maxDate: new Date(currentTime.getFullYear(), 11, 31),
dateFormat: "yy/mm/dd",
onSelect: function(selectedDate) {
var option = this.id == "report2from1" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings);
dates1.not(this).datepicker("option", option, date);
if (this.id == "report2from1"){
dates1.not(this).datepicker("setDate", date);
}
}
});
$('#report2from2').attr('readonly','readonly');
$('#report2to2').attr('readonly','readonly');
var dates2 = $("#report2from2, #report2to2").datepicker({
showButtonPanel: true,
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
minDate: new Date(2010, 1 -1, 1),
maxDate: new Date(currentTime.getFullYear(), 11, 31),
dateFormat: "yy/mm/dd",
onSelect: function(selectedDate) {
var option = this.id == "report2from2" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings);
dates2.not(this).datepicker("option", option, date);
if (this.id == "report2from2"){
dates2.not(this).datepicker("setDate", date);
}
}
});
});
它的工作,谢谢! – Ciguli 2012-03-24 09:02:24
btw。我刚刚注意到,这个演示不考虑最小值和最大值,这意味着结束日期可以在开始日期之前选择一个日期。你怎么解决这个问题? – Ciguli 2012-03-27 20:49:58