用PHP和AJAX计算datepicker的日期
我有三个输入:用PHP和AJAX计算datepicker的日期,php,mysql,ajax,date,datepicker,Php,Mysql,Ajax,Date,Datepicker,我有三个输入: <input type='number'> <input class='datepicker'> <input class='datepicker' readonly='readonly'> 日期选择器很简单,如下所示: <script> $(function() { $('.datepicker').datepicker({ dateFormat: 'yy-mm-dd' }); }); &l
<input type='number'>
<input class='datepicker'>
<input class='datepicker' readonly='readonly'>
日期选择器很简单,如下所示:
<script>
$(function()
{
$('.datepicker').datepicker({ dateFormat: 'yy-mm-dd' });
});
</script>
$(函数()
{
$('.datepicker').datepicker({dateFormat:'yy-mm-dd'});
});
第一个用于设置周数,例如2。第二个是设置开始日期。我怎样才能在第三个输入(只读)中将输出已设置日期的结果日期加上周数
比如当我设置2周,然后使用第一个日期选择器设置2012-12-07,那么它将输出到第三个(只读)输入2012-12-21
谢谢你的建议 您需要使用日期选择器的属性
onSelect()
来检索所选日期并更新只读字段:
然后,您需要使用对象及其方法解析所选日期,为其添加特定天数,并返回与新日期对应的新文本
<input id="nbweeks" type='number' />
<input class='datepicker' />
<input id="input-ro" class='datepicker' readonly='readonly' />
function addDaysDate(dateText, days) {
var curDate = new Date(Date.parse(dateText));
var nextDate = new Date();
nextDate .setDate(curDate.getDate() + days);
var curDay = nextDate .getDate();
var curMonth = nextDate .getMonth() + 1; //Months are zero based
var curYear = nextDate .getFullYear();
return curMonth + "-" + curDay + "-" + curYear;
}
$(function(){
$('.datepicker').datepicker({
dateFormat: 'yyyy-mm-dd',
onSelect(dateText, inst) {
var days = $("#nbweeks").val() * 7;
var newDate = addDaysDate(dateText, days)
$("#input-ro").val(newDate);
}
});
});
函数addDaysDate(日期文本,天){
var curDate=新日期(Date.parse(dateText));
var nextDate=新日期();
nextDate.setDate(curDate.getDate()+天);
var curDay=nextDate.getDate();
var curMonth=nextDate.getMonth()+1;//月份以零为基础
var curYear=nextDate.getFullYear();
返回curMonth+“-”+curDay+“-”+curYear;
}
$(函数(){
$('.datepicker').datepicker({
日期格式:“yyyy-mm-dd”,
onSelect(日期文本,inst){
var天数=$(“#nbweeks”).val()*7;
var newDate=addDaysDate(日期文本,天)
$(“#输入ro”).val(新日期);
}
});
});
代码的实时示例(不带日期选择器):
编辑:小心,对于Date.parse()要工作,我认为您需要将年份设置为四位数字,或者将日期的顺序更改为mm/dd/yy,可能知道我为什么有NaN吗?:)尝试将mm/dd/yy与yy/mm/dd等混合使用,但没有结果:)Hmmm看起来带“-”的格式不受
Date.parse()支持。
try mm/dd/yyyyy或yyyyy-mm ddIt工作:)我的错,我用了val*7而不是val()*7;)谢谢。可惜它返回的日期没有0,比如2013-1-6