1

我做了一个 jsfiddle,因为我不知道我是否会很好地解释这一点:http: //jsfiddle.net/jrrbg/

基本上我想在第一个输入框中选择一个日期并在第二个输入框中显示它,但日期要早一周。

<p>Match Date<br />
      <input name="seatt_expire" type="text" class="datepicker" id="seatt_expire" />
    </p>

<p>Opening Registration<br />
      <input name="seatt_start" type="text" class="datepicker" id="seatt_start" />
</p>

$(function() {

$( ".datepicker" ).datepicker({

dateFormat: "dd-mm-yy",
firstDay: 1,
altField: "#seatt_start"
});


$( "#seatt_start" ).datepicker( "setDate", -7 );

});

它当前采用默认日期并将其设置为提前 7 天,而不是使用第一个框中的日期。

4

2 回答 2

1

你可以这样做:小提琴

$("#seat-expire").datepicker({
    dateFormat: "dd-mm-yy",
    firstDay: 1,
    onSelect:function(text,obj){
        var dateObject = $(this).datepicker("getDate");
        dateObject.setDate(obj.currentDay-7);
        $("#seat-start").datepicker("setDate",dateObject);
    }
});

如果需要,#seat-start只能反向应用相同的内容:

$("#seat-start").datepicker({
        dateFormat: "dd-mm-yy",
        firstDay: 1,
        // display expire date
        onSelect:function(text,obj){
            var dateObject = $(this).datepicker("getDate");
            dateObject.setDate(obj.currentDay+7);
            $("#seat-expire").datepicker("setDate",dateObject);
        }
    });
于 2013-07-01T14:54:53.070 回答
0

您的方法的问题是$( "#seatt_start" ).datepicker( "setDate", -7 );将日期设置为 7 天减去今天,而不是前一个日期,而且当日期发生变化时它不会触发任何事情seatt_expire,您应该使用该onSelect事件。

尝试这样的事情:

jQuery(function () {
    $("#seatt_start").datepicker({dateFormat: "dd-mm-yy"});
    $("#seatt_expire").datepicker({
        dateFormat: "dd-mm-yy",
        firstDay: 1,
        onSelect: function (prev_date) {
            prev = prev_date.split("-");
            var date = new Date(prev[2], prev[1] - 1, prev[0]);
            var d = date.getDate();
            var m = date.getMonth();
            var y = date.getFullYear();
            var new_date = new Date(y, m, d - 7);
            $("#seatt_start").removeAttr("disabled").datepicker("setDate", new_date);
        }
    });
});

在这里,减去日期seatt_expire,然后解析减去你想要的 7 天,并且seatt_start每次都会改变日期,我也将两个日期选择器声明分开以避免将相同的onSelect事件应用于两个字段......

JSFiddle 演示

于 2013-07-01T14:52:35.910 回答