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

Javascript Jquery日期选择器:选择一个日期,自动更新第二个字段,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,我正在使用Kelvin Luck()的jQuery日期选择器插件,需要执行以下操作,也许有人可以帮助我: 在一个旅游保险网站上,我有两个日期字段,一个是开始日期,一个是结束日期。还有第三个字段(select),用于选择计划,每个计划在几天内都有不同的覆盖范围。其想法是,如果您选择一个计划,例如15天,开始日期为X,则第二个日期字段将神奇地填充为X+15天 问题是,我的JavaScript知识不是你们所说的高级 有谁对这个插件有经验,或者至少能给我一些建议 非常感谢。 onSelect可能就是您要

我正在使用Kelvin Luck()的jQuery日期选择器插件,需要执行以下操作,也许有人可以帮助我:

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

问题是,我的JavaScript知识不是你们所说的高级

有谁对这个插件有经验,或者至少能给我一些建议

非常感谢。

onSelect可能就是您要查找的,当您选择第一个日期时,您可以在其中添加15天并填充第二个字段


您使用的datepicker是旧版本,我认为,您应该查看上面链接中的jquery datepicker,我修改了其中一个示例。大概是这样的:

$(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());
            }
        }
    );      
});
其中,
#开始日期
是开始日期输入,
.plan length
是一个选择器,它将返回计划将添加的天数(显然我不知道您的实现,因此这肯定必须更改)。并且,
#结束日期
是结束日期输入

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


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

也许这会有所帮助



我想这就是你在这里需要的,像你这样的人已经付出了一些努力。你试过什么吗?是的,我看过好几件东西。即插件的演示页面、google和StackOverflow上的搜索、插件的文档等等。但到目前为止,我还没有找到任何能做到这一点的东西。只有一些例子可以为第二个输入定义一个范围,比如在Thank中,我将研究这个范围。我只是在用这个,因为我要修改的网站就是这样的。(显然我没来)谢谢。这很接近,但显然,使用这个插件,您只能设置开始日期,而不能设置确切的日期。我将研究UI插件。你可以设置开始和结束日期,所以这只是一个选择。我在上面的代码中又增加了一行。这段代码使用了UI日期选择器,对吗?在过去的一个小时里,我一直在研究解决方案。我试试这个,谢谢。很有魅力。我永远感激你
$(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");  
        }  
    });  
});