Php 在页面加载时启动日期选择器代码
我有两个约会对象。当选择开始日期时,结束日期将在x天后通过php自动分配。这很好,但我有一个问题。执行此任务的jQuery代码,我希望在刷新/加载页面时也启动它(开始日期保存在php会话中)。这是我的代码:Php 在页面加载时启动日期选择器代码,php,jquery,datepicker,Php,Jquery,Datepicker,我有两个约会对象。当选择开始日期时,结束日期将在x天后通过php自动分配。这很好,但我有一个问题。执行此任务的jQuery代码,我希望在刷新/加载页面时也启动它(开始日期保存在php会话中)。这是我的代码: $(document).ready(function(){ $("#txtStartDate").datepicker({ onSelect: function(){ var datum = $(this).datepicker('getDate');
$(document).ready(function(){
$("#txtStartDate").datepicker({
onSelect: function(){
var datum = $(this).datepicker('getDate');
datum.setDate(datum.getDate() + <?php echo $nights; ?>);
$("#txtEndDate").datepicker("setDate", new Date(datum.getTime()));
}
});
$("#txtEndDate").datepicker();
});
$(文档).ready(函数(){
$(“#txtStartDate”).datepicker({
onSelect:function(){
var datum=$(this.datepicker('getDate');
datum.setDate(datum.getDate()+);
$(“#txtEndDate”).datepicker(“setDate”,新日期(datum.getTime());
}
});
$(“#txtEndDate”).datepicker();
});
我一直在考虑使用“onSelect,onLoad:funct…”
这是如何实现的 添加$(“#txtStartDate”).trigger('focus')代码>结束
$("#txtStartDate").datepicker({
onSelect: function() {
var datum = $(this).datepicker('getDate'),
days = 2,
d = new Date(datum.getTime() + (days * 86400000)),
month = parseInt(d.getMonth(), 10)+1 < 10 ? '0'+ (parseInt(d.getMonth(), 10)+1) : parseInt(d.getMonth(), 10)+1,
day = d.getDate() < 10 ? '0'+ d.getDate() : d.getDate(),
year = d.getFullYear();
$("#txtEndDate").val(month+'/'+day+'/'+year);
}
});
$("#txtEndDate").datepicker();
$("#txtStartDate").trigger('focus');
$(“#txtStartDate”).datepicker({
onSelect:function(){
变量数据=$(this).datepicker('getDate'),
天数=2天,
d=新日期(datum.getTime()+(天*86400000)),
month=parseInt(d.getMonth(),10)+1<10?'0'+(parseInt(d.getMonth(),10)+1):parseInt(d.getMonth(),10)+1,
day=d.getDate()<10?'0'+d.getDate():d.getDate(),
year=d.getFullYear();
$(“#txtEndDate”).val(月+'/'+日+'/'+年);
}
});
$(“#txtEndDate”).datepicker();
$(“#txtStartDate”).trigger('focus');
更新。更改变量days以设置提前数天的结束日期。尝试删除document.ready并将其放置在脚本标记中
<script type="text/javascript">
$("#txtStartDate").datepicker({
onSelect: function(){
var datum = $(this).datepicker('getDate');
datum.setDate(datum.getDate() + <?php echo $nights; ?>);
$("#txtEndDate").datepicker("setDate", new Date(datum.getTime()));
}
});
$("#txtEndDate").datepicker();
</script>
创建一个单独的函数来设置结束日期,然后在onLoad事件中调用它
function setEndDate(){
var datum = $("#txtStartDate").datepicker('getDate');
datum.setDate(datum.getDate() + <?php echo $nights; ?>);
$("#txtEndDate").datepicker("setDate", new Date(datum.getTime()));
}
函数setEndDate(){
var数据=$(“#txtStartDate”).datepicker('getDate');
datum.setDate(datum.getDate()+);
$(“#txtEndDate”).datepicker(“setDate”,新日期(datum.getTime());
}
然后
谢谢您的回答,但这会在页面加载时自动打开#txtStartDate的日历。我想要的是#txtEndDate在页面加载时自动分配其日期(根据onSelect函数中的代码,第一个日期后X天),而不仅仅是在选择第一个日期时。这可以实现吗?很抱歉,我无法让你的代码正常工作。datepicker无法使用此代码。请从获取帮助以设置默认日期不幸的是,我也无法使用此代码,但我非常感谢您的努力!
function setEndDate(){
var datum = $("#txtStartDate").datepicker('getDate');
datum.setDate(datum.getDate() + <?php echo $nights; ?>);
$("#txtEndDate").datepicker("setDate", new Date(datum.getTime()));
}