我希望根据输入到输入字段id="datepicker_end"
中的天数来更改日期选择器id="totaldays"
的日期。
输入字段id="totaldays"
有2个函数
1)它计算2个日期选择器之间的天数(现在可以使用,参见JSFiddle http://jsfiddle.net/Deif/KLpq7/211/) - 我想保留此功能。
2)如果用户决定直接在输入字段中输入天数,那么我希望第二个日期选择器id="datepicker_end"
根据输入字段的天数进行更新。
这里的概念是用户可以输入他们想要的天数或在两个日期之间选择......
我的JSFiddle如下http://jsfiddle.net/Deif/KLpq7/211/
我找不到任何好的例子,所以希望我在上面解释它。
答案 0 :(得分:1)
function days() {
var a = new Date($("#datepicker_start").val()),
b = new Date($("#datepicker_end").val()),
c = 24*60*60*1000,
diffDays = Math.round(Math.abs((a - b)/(c)));
$("#totaldays").val(diffDays);
}
function formatDate(_d){
var d = new Date(_d);
var curr_date = d.getDate();
if(curr_date < 10)
curr_date = "0" + curr_date;
var curr_month = d.getMonth() + 1; //Months are zero based
if(curr_month < 10)
curr_month = "0" + curr_month;
var curr_year = d.getFullYear();
return curr_month + '/' + curr_date + '/' + curr_year;
}
$('#totaldays').change(function(){
if($(this).val() != ''){
var days = $(this).val();
var start= new Date($("#datepicker_start").val());
var newStart = start.setDate(start.getDate() + parseInt(days));
$("#datepicker_end").val(formatDate(newStart));
}else{
$("#datepicker_end").val($("#datepicker_start").val());
}
});
$('.datepicker')
.datepicker({format: 'mm/dd/yyyy'})
.on('changeDate', function(ev){
days();
$(this).datepicker('hide').blur();
});
样本: