我目前正在使用jQuery并使用datepicker。
我有两个输入字段:开始日期和结束日期。单击每个时,会弹出datepicker。
对于“结束日期”字段,我希望jQuery日期选择器在同一天突出显示。例如,如果用户选择8/12/09作为开始日期,则在结束日期之前,他们无法在8/12/09之前选择任何内容。
以下是我目前的情况:
$("#datepicker").datepicker({minDate: +5, maxDate: '+1M +10D', changeMonth: true});
var startDate = $("#datepicker").val();
var the_date = new Date(startDate);
$("#datepicker2").datepicker({ minDate: the_date });
而且,不幸的是,这不起作用。
我发现如果我对这些值进行“硬编码”,例如:
$("#datepicker2").datepicker({ minDate: new Date("08/12/2009") });
它会正常工作。关于如何将“开始日期”传递给“结束日期”选择器的任何想法?
谢谢!
答案 0 :(得分:4)
这无法工作
你需要一个来自日期选择器的回调函数来进行“选择”事件。如果这个事件你的startDate将是空的。
试试这个:
$("#datepicker").datepicker({
minDate: +5,
maxDate: '+1M +10D',
changeMonth: true,
onSelect: function(dateText, inst){
var the_date = new Date(dateText);
$("#datepicker2").datepicker('option', 'minDate', the_date);
}
});
$("#datepicker2").datepicker(); // add options if you want
答案 1 :(得分:0)
答案 2 :(得分:0)
日期时间文化因不同用户而异。 jquery ui minimum对上面的代码不起作用。最初,如果我选择结束日期,则最终日期不会设置为结束日期。
<input type="text" id="tbStartDate" value="" disabled="disabled" />
<input type="text" id="tbEndDate" value="" disabled="disabled" />
<script type="text/javascript">
$(document).ready(function () {
$("#tbStartDate").datepicker({
//minDate: +5,
//maxDate: '+1M +10D',
//changeMonth: true,
dateFormat: 'dd-mm-yy',
showOn: 'button',
buttonImageOnly: true,
buttonImage: '/Content/Calendar.png',
buttonText: 'Click here (date)',
onSelect: function (dateText, inst) {
$('#tbEndDate').datepicker("option", 'minDate', new Date($("#tbStartDate").datepicker('getDate')));
},
onClose: function (dateText, inst) {
//$("#StartDate").val($("#tbStartDate").val());
}
});
$("#tbEndDate").datepicker({
dateFormat: 'dd-mm-yy',
showOn: 'button',
buttonImageOnly: true,
buttonImage: '/Content/Calendar.png',
buttonText: 'Click here (date)',
onClose: function (dateText, inst) {
//$("#EndDate").val($("#tbEndDate").val());
}
});
$('#tbEndDate').datepicker("option", 'minDate', new Date($("#tbStartDate").datepicker('getDate')));
});
</script>