1

我希望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/

我找不到任何好的例子,所以希望我在上面解释得很好。

4

1 回答 1

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();
});

演示:

http://jsfiddle.net/dirtyd77/KLpq7/218/

于 2013-02-11T18:55:58.043 回答