2015-12-07 5 views
0

J'ai une question ce que j'ai déjà demandé Count on the month et Dieu merci quelqu'un m'a bien aidé, mais maintenant j'ai une autre question. Les jours et les mois comptent automatiquement mais quand c'est la fin de l'année ça ne marche pas. Est-ce que quelqu'un sait comment je peux obtenir ce travail?Compte sur l'année

J'ai mis la date automaticaly le dernier lundi de la semaine dernière: Voici comment il est maintenant

enter image description here

Lorsque je change la date à la fin de cette année, il arrête de compter:

enter image description here

$(document).ready(function() { 

      $("#day").change(function() { 
       var sDay = parseInt($(this).find('option:selected').val()); 
       var sMonth = parseInt($(this).next().find('option:selected').val()); 

       for(var i=0; i < 7; i++) 
       { 
        var cDay = 'start_day' + i; 
        var cMonth = 'start_month' + i; 
        if(sDay <= 31){ 
         $("[name=" + cDay).val(sDay); 
         $("[name=" + cMonth).val(sMonth); 
        } 
        else { 
         sDay = 1; 
         sMonth++; 
         $("[name=" + cDay).val(sDay); 
         $("[name=" + cMonth).val(sMonth); 
        } 
        sDay++; 
       } 
      }); 

function getMonday(d) 
      { 
       var day = d.getDay(); 
       diff = d.getDate() - day + -6; 
       return new Date(d.setDate(diff)); 
      } 

      var day = getMonday(new Date()); 
      var month = day.getMonth()+1; 

      for(var i = 0; i < 7; i++) 
      { 
       var thisDate = new Date(day.getTime() + (24 * 60 * 60 * 1000 * i)); 
       $('[name="start_day'+i+'"').val(thisDate.getDate()); 
       $('[name="start_month'+i+'"').val(thisDate.getMonth() + 1); 
} 

Répondre

0

Quelque chose comme ça?

var sYear = parseInt($(this).next().next().find('option:selected').val()); 
for(var i=0; i < 7; i++) 
    { 
     var date = new Date(sYear, sMonth-1, sDay); 
     var cDay = 'start_day' + i; 
     var cMonth = 'start_month' + i; 
     var cYear = 'start_year' + i; 
     $("[name=" + cDay).val(date.getDate()); 
     $("[name=" + cMonth).val(date.getMonth()+1); 
     $("[name=" + cYear).val(date.getFullYear()); 
     sDay++; 
    } 
+0

Hey Alexander, je l'ai essayé et cela n'a pas fonctionné .. – Milan

+0

Donnez-moi votre lien site web. Où puis-je trouver ces calendriers? –

+0

Hey Alex, ce n'est pas un site web. Je l'utilise pour l'enregistrement des dates et heures des employés. – Milan

0

Alexander, voici le code que j'utilise ..

 $(document).ready(function() { 

     $("#day").change(function() { 
      var sDay = parseInt($(this).find('option:selected').val()); 
      var sMonth = parseInt($(this).next().find('option:selected').val()); 
      var sYear = parseInt($(this).next().next().find('option:selected').val()); 
      for(var i=0; i < 7; i++) 
      { 
       var date = new Date(sYear, sMonth-1, sDay); 
       var cDay = 'start_day' + i; 
       var cMonth = 'start_month' + i; 
       var cYear = 'start_year' + i; 
       $("[name=" + cDay).val(date.getDate()); 
       $("[name=" + cMonth).val(date.getMonth()+1); 
       $("[name=" + cYear).val(date.getFullYear()); 
       sDay++; 
      } 
     }); 
       $("#day").change(); 
     }); 

      function getMonday(d) 
      { 
       var day = d.getDay(); 
       diff = d.getDate() - day + -6; 
       return new Date(d.setDate(diff)); 
      } 

      var day = getMonday(new Date()); 
      var month = day.getMonth()+1; 

      for(var i = 0; i < 7; i++) 
      { 
       var thisDate = new Date(day.getTime() + (24 * 60 * 60 * 1000 * i)); 
       $('[name="start_day'+i+'"').val(thisDate.getDate()); 
       $('[name="start_month'+i+'"').val(thisDate.getMonth() + 1); 
      }