2011-09-02 66 views
0

我有一个jQuery UI用户界面日期选择器,突出显示了我选择日期的那一周。但是因为我正在更改URL位置(以适应参数到最后)页面刷新,并且我点击并突出显示的任何内容都会丢失。我希望能够点击某个日期,以及当该页面刷新时该页面突出显示。需要突出显示的那一周可以从网址中获取,因此只需在刷新后突出显示并突出显示我需要帮助。刷新后日期选择器亮点

继承人的代码:

$(function() 
{ 
    var startDate; 
    var endDate; 
    var selectCurrentWeek = function() 
    { 
     window.setTimeout(function() { $('.week-picker').find('.ui-datepicker-current-day a').addClass('ui-state-active')}, 1); 
    } 
    function check(d) { 
     if(d.length() == 2) { 
      dd = d; 
      return dd; 
     } else { 
      dd = "0" + myDateParts[0]; 
      return dd; 
     } 
    } 

    var selectedWeek;//remember which week the user selected here 

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

      var oldDate = document.getElementById('startDate'); 
      var date_textnode = oldDate.firstChild; 
      var date_text = date_textnode.data; 
      myDateParts = date_text.split("-"); 

      var dd = myDateParts[2]; 

      var mm = myDateParts[1]; 

      var yy = myDateParts[0]; 

      selectCurrentWeek(); 

      window.location.href = "/timesheet?week_commencing=" + yy + "-" + mm + "-" + dd; 

     }, 
     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'); }); 


}); 

在此先感谢

+0

不知何故,我认为你已经问了一个不同的ID相同的问题:http://stackoverflow.com/questions/7269582/how-to-get-datepicker-to-be-highlighted-upon-refresh/7271532 –

+0

但我需要它来刷新,这个问题不......这也不是我的问题。 – SD1990

+0

如果您仔细阅读标题:“如何让** datepicker突出显示**刷新**”,是的,它_does_!如果您对代码进行“区分”,我相信您的输出不会太多,即它们几乎完全相同。 –

回答

-1

可以Concat的在URL中选择weekNumber。然后,当页面重新加载时,从URL中提取参数并相应地加载日期选择器。

+0

是的,但您如何突出显示这些信息? – SD1990

+0

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

+0

这不是我现在正在做什么? – SD1990

相关问题