我制作了两个日期字段(“拾取”和“dropin”)。而且,我想确保:
取件日期应早于下降日期。
当用户已经选择了他的dropin和提取日期,之后他将提取日期改为晚于dropin date,那么脚本会自动更改他的dropin日期,而不是用户选择的日期。 (例如,用户将“12/07/2011”放入取件日期,将“13/07/2011”放入下拉日期,然后将其取件日期更改为“13/08/2011”。如果是,则脚本应该将“13/08/2011”设为下拉日期。
我提到了这个站点中的一个线程。而且,以下是我现在拥有的代码。
$.datepicker.setDefaults({dateFormat: 'dd/mm/yy'});
$("#pickup").datepicker({
onSelect: function(dateText, inst){
var minDate = $(this).datepicker('getDate');
$('#dropin').datepicker('destroy').datepicker({
minDate: minDate
});
},
onClose: function(dateText, inst) {
if(dateText == '') {
$('#dropin').val('');
$('#dropin').datepicker('destroy').datepicker();
}
}
});
$("#dropin").datepicker();
var set=$("#dropin").datepicker('getDate');
alert(set.getDate());
看起来它满足第一个。但是,我不知道第二个约束。并且,它一直声明's'为空。
你能帮我解决这个问题吗? 非常感谢你。
答案 0 :(得分:1)
尝试这样的事情:
var date = new Date();
$.datepicker.setDefaults({
'dateFormat' : 'yy-mm-dd',
'onSelect' : function(dateText, inst){
instance = $(this).data('datepicker'),
selectedDate = $.datepicker.parseDate(
instance.settings.dateFormat || $.datepicker._defaults.dateFormat,
dateText,
instance.settings
);
if (this.id == 'datepicker-pickup') {
$('#' + 'datepicker-dropin')
.datepicker('option', 'minDate', selectedDate)
.datepicker('refresh');
datePickup = dateText;
}
if (this.id == 'datepicker-dropin') {
$('#' + 'datepicker-pickup')
.datepicker('option', 'maxDate', selectedDate)
.datepicker('refresh');
dateDropin = dateText;
}
}
});
$('#datepicker-pickup').datepicker({
'defaultDate' : datePickup,
'maxDate' : dateDropin
});
$('#datepicker-dropin').datepicker({
'defaultDate' : dateDropin,
'minDate' : datePickup,
'maxDate' : new Date(date.getFullYear(), date.getMonth(), date.getDate())
});