Можно ли настроить дату выбора в формах ниндзя, чтобы одно поле зависело от другого поля?Javascript

Форум по Javascript
Ответить
Anonymous
 Можно ли настроить дату выбора в формах ниндзя, чтобы одно поле зависело от другого поля?

Сообщение Anonymous »

У меня есть два поля даты в формах ниндзя. Я уже заблокировал даты и установил их так, чтобы пользователь мог выбрать только дату, которая составит не менее трех рабочих дней в будущем. Теперь я хочу сделать одно полевые поля DatePicker в зависимости от другого. Например: у меня есть поле, называемое «OrderDate», а другое называется «Pickupdate». Поле «Pickupdate» должно зависеть от поля «Орденат». Если «OrderDate» установлен в 29 января, «PickUpdate» также должен быть 29 января и «выше». Помощь Чатгпта. Я не могу найти способ достичь того, чего хочу достичь. Спасибо за помощь.
Вот мой код, который блокирует даты и получает дату через 3 дня: < /p>

jQuery(document).ready(function ($) {
function initCustomDatePicker() {
var customDatePicker = Marionette.Object.extend({
initialize: function () {
this.listenTo(Backbone.Radio.channel("flatpickr"), "init", this.modifyDatepicker);
},
modifyDatepicker: function (dateObject, fieldModel) {
var currentDate = new Date();
currentDate.setDate(currentDate.getDate() + 3); // Allow only future dates

dateObject.set("minDate", currentDate);
},
});

new customDatePicker();
}

var formIds = ["#nf-form-37-cont", "#nf-form-47-cont", "#nf-form-48-cont", "#nf-form-51-cont",
"#nf-form-52-cont", "#nf-form-55-cont"];

function isAnyFormPresent() {
return formIds.some(id => $(id).length > 0);
}

if (isAnyFormPresent()) {
initCustomDatePicker();
} else {
// Falls das Formular erst später geladen wird
var observer = new MutationObserver(function (mutations, observerInstance) {
if (isAnyFormPresent()) {
initCustomDatePicker();
observerInstance.disconnect();
}
});

observer.observe(document.body, { childList: true, subtree: true });
}
});

< /code>
Я попробовал разные коды с функцией if, я ссылался на полевые ключи 2 полей в коде, но, казалось, ничего не сработало.
Вот код, который я пробовал: < /p>
jQuery(document).ready(function ($) {

function initCustomDatePicker() {
var customDatePicker = Marionette.Object.extend({
initialize: function () {
this.listenTo(Backbone.Radio.channel("flatpickr"), "init", this.modifyDatepicker);
},
modifyDatepicker: function (dateObject, fieldModel) {
var currentDate = new Date();
currentDate.setDate(currentDate.getDate() + 3 ); // Allow only future dates
dateObject.set("minDate", currentDate);
},
});

new customDatePicker();
}

var formIds = ["#nf-form-37-cont", "#nf-form-47-cont", "#nf-form-48-cont", "#nf-form-51-cont",
"#nf-form-52-cont", "#nf-form-55-cont"];

function isAnyFormPresent() {
return formIds.some(id => $(id).length > 0);
}

if (isAnyFormPresent()) {
initCustomDatePicker();
} else {
// Falls das Formular erst später geladen wird
var observer = new MutationObserver(function (mutations, observerInstance) {
if (isAnyFormPresent()) {
initCustomDatePicker();
observerInstance.disconnect();
}
});

observer.observe(document.body, { childList: true, subtree: true });
}

var stelldatumSelector = '#nf-field-1266';
var abholdatumSelector = '#nf-field-2186';

var stelldatumFlatpickr = $(stelldatumSelector).flatpickr({
dateFormat: "Y-m-d", // Datum Format
onChange: function(selectedDates, dateStr, instance) {

var stelldatum = new Date(dateStr);
if (!isNaN(stelldatum.getTime())) {
var abholdatumFlatpickr = $(abholdatumSelector).flatpickr();
abholdatumFlatpickr.set("minDate", stelldatum);
}
}
});

var abholdatumFlatpickr = $(abholdatumSelector).flatpickr({
dateFormat: "Y-m-d",
minDate: "today"
});

});


Подробнее здесь: https://stackoverflow.com/questions/793 ... e-field-is
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»