Datepicker默认为本周日

时间:2012-08-02 12:52:52

标签: jquery jquery-ui datepicker

我正在尝试自定义此脚本,以便onclick #startdatepickeryy-mm-dd格式显示此星期日的日期,#enddatepicker将显示下一个坐标。默认为date。

<script type="text/javascript">
    $(document).ready(function() {
        $("#startdatepicker").datepicker({
            dateFormat: 'yy-mm-dd'
        });
        $("#enddatepicker").datepicker({
            dateFormat: 'yy-mm-dd',
        });
    });
</script>
Start Date: <input type="text" id="startdatepicker"/><br />
End Date: <input type="text" id="enddatepicker"/><br />`

4 个答案:

答案 0 :(得分:0)

您可以使用defaultDate选项指定日期选择器在打开时显示的日期,<input>的值为空。您需要做的就是获取表示相关日期的Date对象或字符串,并在元素上初始化datepickers时传递它们。

答案 1 :(得分:0)

您可以使用选择器设置默认值。

<script type="text/javascript">
    $(document).ready(function() {
        $("#startdatepicker").datepicker({
            dateFormat: 'yy-mm-dd',
            defaultDate: '12-08-05',
        });
        $("#enddatepicker").datepicker({
            dateFormat: 'yy-mm-dd',
            defaultDate: '12-08-12',
        });
    });
</script>

答案 2 :(得分:0)

MDN提供了关于Date()的精彩文档,您可以使用getDay()了解您需要多长时间才能进入星期日和下周六。

http://jsfiddle.net/VesQ/ZdmCE/

$(document).ready(function() {
    // Get current date
    var now = new Date();
    // Get the day, 0 is Sunday and 6 is Saturday
    var day = now.getDay();

    // How many days to this sunday
    var daysToSunday;
    if (day == 0) {
        // Sunday is now
        daysToSunday = 0;
    } else {
        daysToSunday = 7 - day;
    }

    // Days to next saturday is simple:
    var daysToNextSaturday = daysToSunday + 6;

    // See defaultDate option,
    // http://jqueryui.com/demos/datepicker/#option-defaultDate
    $("#startdatepicker").datepicker({
        dateFormat: 'yy-mm-dd',
        defaultDate: daysToSunday
    });
    $("#enddatepicker").datepicker({
        dateFormat: 'yy-mm-dd',
        defaultDate: daysToNextSaturday
    });
});

答案 3 :(得分:0)

如果您始终希望datePicker默认为下一个星期日(无论今天的日期),请尝试:

$(function() {
    var sunday = new Date(),               // new Date object for current day
        dow = sunday.getDay(),             // day of week (0-6)
        toAdd = dow === 0 ? 0 : 7 - dow;   // days to move forward

    $( "#startpicker" ).datepicker({
        dateFormat: 'yy-mm-dd',
        defaultDate: toAdd
    });

    $( '#endpicker' ).datepicker({
        dateFormat: 'yy-mm-dd',
        defaultDate: toAdd+6
    });
});​

同样可以在下周六找到,再加6天。

http://jsfiddle.net/dYEMn/3