在jQuery UI Datepicker中设置一周的开始日期?

时间:2009-08-21 17:47:16

标签: jquery jquery-ui

我正在查看jQuery UI Datepicker(http://jqueryui.com/demos/datepicker/)的文档,但我找不到如何将星期的第一天设置为星期一。

应用区域设置会将星期一设置为一周的第一天,但​​这也会更改语言。

5 个答案:

答案 0 :(得分:73)

这是我使用的示例配置。用“firstDay:1”查看最后一行。 我认为使用这样的sytax指定datepicker选项看起来更好;)

$('#datepickerfield').datepicker({
    constrainInput: true,   // prevent letters in the input field
    minDate: new Date(),    // prevent selection of date older than today
    showOn: 'button',       // Show a button next to the text-field
    autoSize: true,         // automatically resize the input field 
    altFormat: 'yy-mm-dd',  // Date Format used
    beforeShowDay: $.datepicker.noWeekends,     // Disable selection of weekends
    firstDay: 1 // Start with Monday
})

答案 1 :(得分:51)

尝试第一天选项(在选项标签中):

//getter
var firstDay = $('.selector').datepicker('option', 'firstDay');
//setter
$('.selector').datepicker('option', 'firstDay', 1);

答案 2 :(得分:8)

将第一天用作星期一:

$(function() {
    $( "#date_id" ).datepicker({ firstDay: 1 });
});

答案 3 :(得分:1)

您还可以通过为您的语言创建自己的本地化文件以及您自己的设置来实现此目的。有关详细信息,请参阅此页:http://docs.jquery.com/UI/Datepicker/Localization

答案 4 :(得分:-2)

    function getFirstDateOfThisWeek(d)
    {
        var TempDate = new Date(d || new Date());            
        TempDate.setDate(TempDate.getDate() + (@Config.WeekStartOn - 1 - TempDate.getDay() - 7) % 7);           
        return TempDate;

    }

    var StartDate = getFirstDateOfThisWeek(new Date()); //1st date of this week