1

我对 JQuery 很陌生,我找不到解决问题的正确方法。

所以这里是我写的代码:

$(function() {
         $("#from").datepicker({
                    //dateFormat: 'yy-mm-dd',
                        minDate: 0,
                    defaultDate: "+1w",
                    changeMonth: true,
                    numberOfMonths: 1,
                        dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], 
                    onSelect: function(selectedDate) {
                        $("#to").datepicker("option", "minDate", selectedDate);
                    }
                });

                $("#to").datepicker({
                    //dateFormat: 'yy-mm-dd',
                        minDate: 0,
                    defaultDate: "+1w",
                    changeMonth: true,
                    numberOfMonths: 1,
                        dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
                    onSelect: function(selectedDate) {
                        $("#from").datepicker("option", "maxDate", selectedDate);
                    }
                });
});

如果今天在星期六之前,我想将“#from”文本框设置为最近的星期六(日期),将“#to”文本框设置为星期日(日期),否则,将星期日(日期)设置为两个文本框中的默认值天。

前任。今天是 2013 年 2 月 27 日(星期三),我想把 03/02/2013 放在“#from”中,把 03/03/2013 放在“#to”中,如果今天是 03/02/2013,我想把2013 年 3 月 3 日在两个文本框中。

我想创建一个变量 currDay 并将今天的日期存储到它。由于 datepicker 中的天数从 0 到 6,然后我将计算当天与即将到来的星期六/星期日之间的差异,然后将默认日期设置为 currDay + diff

我该怎么做呢?

非常感谢你的帮助。

4

2 回答 2

0

我可能没有很好地澄清我的问题...感谢 r0m4n 的尝试。我自己设法解决了这个问题。如果您将以下代码粘贴到您的 js 部分中,您将看到我正在尝试做什么...

function toDay() {
    var date = new Date();
    var currDay = date.getDay();
    var diff = 7 - currDay;
    return (diff);
}


$(function () {
    var saturday = new Date();
    var sunday = new Date();
    sunday.setDate(sunday.getDate() + toDay());
    if (toDay != 0) {
        saturday.setDate(saturday.getDate() - 1 + toDay());
    } else {
        saturday = sunday;
    }
    var comingSaturday = (saturday.getMonth() + 1) + '/' + saturday.getDate() + '/' + saturday.getFullYear();

    var comingSunday = (sunday.getMonth() + 1) + '/' + sunday.getDate() + '/' + sunday.getFullYear();
    $("#from").val(comingSaturday);
    $("#to").val(comingSunday);
})

当然,我是新手....我可能犯了一些错误,请随时为我挑选错误。再次感谢。

于 2013-02-28T00:41:29.290 回答
0

如果您获得一周中的当前日期,您可以从一周中的位置中减去该数字以获得您想要的结果:

$(function () {
    var d = new Date();
    var n = d.getDay();

    var from=6-n;
    var to=7-n;

    if(n==0)
        from=0;

    $("#from").datepicker({
        //dateFormat: 'yy-mm-dd',
        minDate: 0,
        defaultDate: "+"+from+"d",
        changeMonth: true,
        numberOfMonths: 1,
        dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
        onSelect: function (selectedDate) {
            $("#to").datepicker("option", "minDate", selectedDate);
        }
    });

    $("#to").datepicker({
        //dateFormat: 'yy-mm-dd',
        minDate: 0,
        defaultDate:  "+"+to+"d",
        changeMonth: true,
        numberOfMonths: 1,
        dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
        onSelect: function (selectedDate) {
            $("#from").datepicker("option", "maxDate", selectedDate);
        }
    });
});

http://jsfiddle.net/6WHyK/

于 2013-02-28T00:22:28.243 回答