условие для выбора даты в полном календаре

avatar
Khairunnisa Syahfitri
9 августа 2021 в 04:57
120
0
0

У меня проблема с созданием if else. Итак, я хочу, чтобы дата была выбрана/щелкнута только по одной дате (например, 1-й), начальная и конечная даты, которые отображаются в модальном окне, совпадают с выбранной датой.

если я настрою так, все будет работать нормально.

select: function(start, end, allDay) {
                $("#addEvent").modal("show");
                $("#addEvent .modal-title").text("Add Event");
                $("#addEvent #title").val("");
                $("#addEvent form").attr("action", "add");
                $("#addEvent form").removeAttr("data-id");
                $("#start_date").val(moment(start).format());
                $("#end_date").val(moment(start).format());
                $("#addEvent #start_clock").val("");
                $("#addEvent #end_clock").val("");
                $("#deleteEvent").html("");
            },

но проблема в том, что если я выберу дату, например, с 1-го по 3-е, начальная и конечная даты останутся теми же самыми 1. она должна начинаться с 1-го конца 3. так как же сделать условие? (Я использую fullcalendar js для календаря). спасибо за помощь.

Источник
ADyson
9 августа 2021 в 08:45
0

Возможно, я неправильно понял сценарий, но я не могу воспроизвести проблему, которую вы описываете. Демонстрация: codepen.io/ADyson82/pen/LYyXvvV?editable=true&editors=001 — если вы выберете 1-3 августа, даты, указанные в консоли, будут такими, как вы ожидаете (учитывая, что даты окончания являются эксклюзивными в fullCalendar). (Кстати, start и end уже являются объектами момента, вам не нужно снова оборачивать их в момент()). Так что, возможно, вы имели в виду что-то другое... Можете ли вы прояснить вопрос?

Khairunnisa Syahfitri
9 августа 2021 в 09:37
0

спасибо, что заметили мой вопрос. я объясню это еще раз. в основном, демо, которое вы сделали, такое же, как у меня. это основное правильно? но если вы заметили это, когда вы нажимаете только одну дату (например, 1 августа), консоль сообщает, что дата начала — 1, а дата окончания — 2. результат конечной даты всегда плюс один. то, что я хочу, не так. если я выберу 1 августа, я хочу, чтобы дата начала и окончания по-прежнему была 1 августа. также, если я выберу 1–4 августа, я хочу, чтобы дата начала была 1, а дата окончания — 4. так как сделать это возможным?

ADyson
9 августа 2021 в 09:37
0

the result of end date always plus one... потому что даты окончания в fullCalendar являются эксклюзивными, как объясняется в документации. Если это не соответствует тому, что вам нужно для вашего модального окна, просто вычтите из него один день перед отображением - это тривиально с использованием momentJS.

Khairunnisa Syahfitri
9 августа 2021 в 09:41
0

Спасибо за предложение. но не могли бы вы сказать мне, как вычесть эту дату окончания? или ключевое слово, связанное с ним. я действительно понятия не имею, чтобы искать его.

ADyson
9 августа 2021 в 09:43
0

как я уже сказал, с momentJS это легко сделать... вы ознакомились с документацией по momentJS? Вы можете найти его в короткие сроки.

Khairunnisa Syahfitri
9 августа 2021 в 09:52
0

хорошо, большое спасибо. Я проверю его.

Ответы (0)