показать блоки за 3 месяца с помощью JS DatePicker - PullRequest
1 голос
/ 08 ноября 2019

Я хочу, чтобы средство выбора даты, использующее js, показывало блоки по три месяца в году, я имею в виду, если сегодня ноябрь, чтобы показать месяц октябрь, ноябрь и декабрь

это мой код

<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<p>Select Date: <input type="text" class="datepicker"></p>
<script>
    $(document).ready(function () {
            var today = new Date();
            $('.datepicker').datepicker({
                format: 'mm-dd-yyyy',
                autoclose:true,
                endDate: "today-1d",
                minDate:"today+1d",
                maxDate: "+2m"
            }).on('changeDate', function (ev) {
                    $(this).datepicker('hide');
                });


            $('.datepicker').keyup(function () {
                if (this.value.match(/[^0-9]/g)) {
                    this.value = this.value.replace(/[^0-9^-]/g, '');
                }
            });
        });
</script>

это показывает, что через 2 месяца, но я хочу, чтобы это были месяцы в триместре года
Я хочу, чтобы прошлые даты были отключены, и только в блоках по три месяца средство выбора даты в зависимости от текущей даты, пример4 июля - триместр июль-август-сентябрь

Ответы [ 2 ]

1 голос
/ 08 ноября 2019

Я думаю, это то, что вы ищете:

showCurrentAtPos: 1

http://jsfiddle.net/x2mg3brn/3/

0 голосов
/ 08 ноября 2019

jQuery DatePicker принимает объект JavaScript Date для minDate и maxDate.

minDate

var today = new Date();
// this returns the first day of the previous month
yourMinDate = new Date(today.getFullYear(), today.getMonth()-1, 1);

maxDate

var today = new Date();
// this returns the last day of the next month
yourMaxDate = new Date(today.getFullYear(), today.getMonth()+2, 0);

Затем просто передайте ваши новые объекты вместо "today+1d" и "+2m"

РЕДАКТИРОВАТЬ: Я думаю, что вопрос мог измениться, так как я начал этот ответ. minDate и maxDate определяют, какие даты можно выбрать, и они не относятся к показу нескольких месячных блоков одновременно. Для этого попробуйте использовать параметр numberOfMonths или посмотрите на этот ответ для группировки по кварталам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...