получить месяц финансового года в json - PullRequest
0 голосов
/ 25 мая 2020

У меня есть поле выбора с опцией 2019-2020,2020-2021. Я выбираю 2019-2020 финансовый год. Я хочу отображать месяц как {"month":["Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Jan","Feb","Mar"]}.

Если я выберу 2020 финансовый год -2021 Я хочу отобразить месяц {"month":["Apr","May"]}.

Можно ли получить json на основе выбранного финансового года. могу ли я получить ответ json в опции выбора onclick

$('.financialyear').change(function(){
 console.log($('.financialyear').val());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="financialyear" >
 <option>2019-2020</option>
 <option>2020-2021</option>
</select>

1 Ответ

0 голосов
/ 25 мая 2020

Попробуйте следующий код:

    var months = [ "Jan","Feb","Mar", "Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec" ];
    var starting_month = "Apr";
    var current_year = new Date().getFullYear().toString();
    var current_month = months[ new Date().getMonth() ];

    $('.financialyear').change(function(){
      console.clear();
      
      var value = $('.financialyear').val();
      var start_year = value.split('-')[0];
      var index = months.indexOf( starting_month );
      var count = 0;
      var financial_months = [];

      while( count < 12 ) {
        financial_months.push( months[index] );

        if ( current_year === start_year && current_month === months[index] ) {
          break;
        }
        index++;

        if ( index === months.length ) {
          index = 0;
        }
        count++;
      }
      console.log( { months: financial_months } );
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    <select class="financialyear" >
     <option value="2019-2020">2019-2020</option>
     <option value="2020-2021">2020-2021</option>
    </select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...