У меня проблема с созданием 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 для календаря). спасибо за помощь.
Возможно, я неправильно понял сценарий, но я не могу воспроизвести проблему, которую вы описываете. Демонстрация: codepen.io/ADyson82/pen/LYyXvvV?editable=true&editors=001 — если вы выберете 1-3 августа, даты, указанные в консоли, будут такими, как вы ожидаете (учитывая, что даты окончания являются эксклюзивными в fullCalendar). (Кстати,
start
иend
уже являются объектами момента, вам не нужно снова оборачивать их в момент()). Так что, возможно, вы имели в виду что-то другое... Можете ли вы прояснить вопрос?спасибо, что заметили мой вопрос. я объясню это еще раз. в основном, демо, которое вы сделали, такое же, как у меня. это основное правильно? но если вы заметили это, когда вы нажимаете только одну дату (например, 1 августа), консоль сообщает, что дата начала — 1, а дата окончания — 2. результат конечной даты всегда плюс один. то, что я хочу, не так. если я выберу 1 августа, я хочу, чтобы дата начала и окончания по-прежнему была 1 августа. также, если я выберу 1–4 августа, я хочу, чтобы дата начала была 1, а дата окончания — 4. так как сделать это возможным?
the result of end date always plus one
... потому что даты окончания в fullCalendar являются эксклюзивными, как объясняется в документации. Если это не соответствует тому, что вам нужно для вашего модального окна, просто вычтите из него один день перед отображением - это тривиально с использованием momentJS.Спасибо за предложение. но не могли бы вы сказать мне, как вычесть эту дату окончания? или ключевое слово, связанное с ним. я действительно понятия не имею, чтобы искать его.
как я уже сказал, с momentJS это легко сделать... вы ознакомились с документацией по momentJS? Вы можете найти его в короткие сроки.
хорошо, большое спасибо. Я проверю его.