具有多功能的Datepickers

时间:2013-06-05 22:54:39

标签: jquery date math calendar calculated-field

我设法让这个运行但只有一点。我要做的是以下内容:

有2个日期选择器和一个文本字段。

  1. 选择date1后,将自动生成date2,其中“未来日期”为... 6,12,24,36个月。

  2. 根据这两个日期字段中的信息,我需要计算date1和date2之间的剩余天数。

  3. e.g。 DATE1(06/01/2012) - > DATE2从DATE1和ADDS 12 OR 24获取日期。(06/01/2013) - > DAYS(365)

    以下是有人可以提供帮助的代码。谢谢!

    $(function() {
    $("#dop").datepicker
        ({
        dateFormat: "dd/mm/yy",
        onSelect: function(dateText, instance) {
            date = $.datepicker.parseDate(instance.settings.dateFormat, dateText, instance.settings);
            date.setMonth(date.getMonth() + 12);
            $("#wed").datepicker("setDate", date);
            if ($('#dop') && $('#wed')) {
            $("#days").val($("#dop").getTime() - $("#wed").getTime() / 86400000);
            }
        }
    });
    $("#wed").datepicker({
        dateFormat: "dd/mm/yy",  
    });
    

    });

    http://jsfiddle.net/TCXcX/332/

1 个答案:

答案 0 :(得分:0)

只有到目前为止必须停止(时间)。这是我到达的地方,也许它会有所帮助。

您必须将字段值重新设置为日期,如下所示:

            var t1 = $("#dop").val();
            var t1d = new Date(t1);

Fully working jsFiddle here


完成的例子。如果这不符合您的要求,请回复详细信息:

$(function() {
    $("#dop").datepicker({
        dateFormat: "dd/mm/yy",
        onSelect: function(dateText, instance) {
            date = $.datepicker.parseDate(instance.settings.dateFormat, dateText, instance.settings);
            date.setMonth(date.getMonth() + 12);
            $("#wed").datepicker("setDate", date);
            if ($('#dop') && $('#wed')) {
                var t1 = $("#dop").val();
                //alert(t1);
                var t1d = new Date(t1);
                //alert(t1d);
                var t2 = $("#wed").val();
                var t2d = new Date(t2);
                var diff = (t2d - t1d)/86400000;
                //alert(diff);
                $('#days').val(diff);
            }
        }
    });
    $("#wed").datepicker({
        dateFormat: "dd/mm/yy",  
    });

});

Here's another jsFiddle example,其中要添加的月数存储在隐藏的输入字段中。