2017-06-12 1 views
0

Comment changer cette plage hebdomadaire de jquery datepicker pour commencer la semaine avec lundi?JQuery Datepicker - sélectionne la plage hebdomadaire commençant par Monday

http://jsfiddle.net/oykmv300/

$(function() { 
var startDate; 
var endDate; 

var selectCurrentWeek = function() { 
    window.setTimeout(function() { 
     $('.week-picker').find('.ui-datepicker-current-day a').addClass('ui-state-active') 
    }, 1); 
} 

$('.week-picker').datepicker({ 
    showOtherMonths: true, 
    selectOtherMonths: true, 
    firstDay: 1, 
    onSelect: function(dateText, inst) { 
     var date = $(this).datepicker('getDate'); 
     startDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay()); 
     endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 6); 
     var dateFormat = inst.settings.dateFormat || $.datepicker._defaults.dateFormat; 
     $('#startDate').text($.datepicker.formatDate(dateFormat, startDate, inst.settings)); 
     $('#endDate').text($.datepicker.formatDate(dateFormat, endDate, inst.settings)); 

     selectCurrentWeek(); 
    }, 
    beforeShowDay: function(date) { 
     var cssClass = ''; 
     if(date >= startDate && date <= endDate) 
      cssClass = 'ui-datepicker-current-day'; 
     return [true, cssClass]; 
    }, 
    onChangeMonthYear: function(year, month, inst) { 
     selectCurrentWeek(); 
    } 
}); 

$('.week-picker .ui-datepicker-calendar tr').live('mousemove', function() { $(this).find('td a').addClass('ui-state-hover'); }); 
$('.week-picker .ui-datepicker-calendar tr').live('mouseleave', function() { $(this).find('td a').removeClass('ui-state-hover'); }); 
}); 

J'ai changé le jour à partir de datepicker à FirstDay: 1 pour qu'il puisse commencer visuellement lundi. Mais comment puis-je changer la plage hebdomadaire lorsque je choisis une semaine pour commencer avec le lundi?

+0

voir ce http://jsfiddle.net/oykmv300/1/ – Amal

+0

parfait. Grand merci! –

Répondre

2

Essayez ce code

Réinitialiser votre start et end Date

startDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 1); 
endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 7); 

DEMO