Jquery日期选择器:选择一个日期,自动更新第二个字段

时间:2011-02-01 19:50:49

标签: javascript jquery datepicker

我正在使用Kelvin Luck(http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/)的jQuery Date Picker插件,需要执行以下操作,也许有人可以帮助我:

在旅游保险网站上,我有两个日期字段,一个用于开始日期,另一个用于结束日期。还有第三个字段(选择)在几天内选择计划,每个计划具有不同的覆盖范围。我们的想法是,如果您选择一个计划,例如15天,开始日期为X,那么第二个日期字段将会神奇地填充X + 15天的日期。

事实上,我的JavaScript知识不是你所谓的高级知识。

有人对插件有一些经验,或者至少可以给我一些指示?

非常感谢。

3 个答案:

答案 0 :(得分:2)

也许这可以帮助


$(document).ready(function(){    
    $("#date2").datepicker();  
    $("#date1").datepicker({  
        onSelect: function(){  
            var fecha = $(this).datepicker('getDate');  
            $("#date2").datepicker("setDate", new Date(fecha.getTime()));  
            $("#date2").datepicker("setDate", "+15d");  
        }  
    });  
});  

我想这就是你需要的东西

答案 1 :(得分:1)

http://jqueryui.com/demos/datepicker/ onSelect可能就是您要找的东西,当您选择第一个日期时可以添加15天并填充第二个字段

您使用的日期选择器是旧版本,我认为您应该在上面的链接中查看jquery datepicker

答案 2 :(得分:1)

我修改了其中一个样本。像这样的东西:

$(function()
{
    $('#start-date').bind(
        'dpClosed',
        function(e, selectedDates)
        {
            var d = selectedDates[0];
            if (d) {
                d = new Date(d);
                var timeframe = $('.plan-length').val();
                $('#end-date').dpSetStartDate(d.addDays(timeframe).asString());
                $('#end-date').dpSetEndDate( d.addDays(timeframe + 1).asString());
            }
        }
    );      
});

其中#start-date是开始日期输入,.plan-length是一个选择器,它将返回计划添加的天数(显然我不知道你的实现,所以这肯定要改变) 。并且#end-date是结束日期输入。

编辑:我还强烈建议您查看jquery UI DatePicker插件,因为它更灵活,IMO更易于使用。

编辑2:您可以设置开始和结束日期,因此它只是一个选择。 我在上面的代码中添加了1行。