<script>
document.addEventListener('DOMContentLoaded', function() {
var citySelect = document.getElementById('mistovidpr');
var dateField = document.querySelector('input[name="date-broni"');
citySelect.addEventListener('change', function() {
var selectedCity = citySelect.value;
if (selectedCity === 'london') {
// Активируем только среды в календаре
dateField.setAttribute('min', getNextWednesday());
dateField.setAttribute('max', getMaxDate());
dateField.setAttribute('step', '7');
} else if (selectedCity === 'usa' ) {
// Активируем только понедельники в календаре
dateField.setAttribute('min', getNextMonday());
dateField.setAttribute('max', getMaxDate());
dateField.setAttribute('step', '7');
} else if (selectedCity === 'conada' ) {
// Активируем только воскресенья в календаре
dateField.setAttribute('min', getNextSunday());
dateField.setAttribute('max', getMaxDate());
dateField.setAttribute('step', '7');
} else {
// Сбрасываем ограничения, если выбран другой город
dateField.removeAttribute('min');
dateField.removeAttribute('max');
dateField.removeAttribute('step');
}
});
// Функция для получения следующей среды
function getNextWednesday() {
var today = new Date();
var nextWednesday = new Date(today.getTime());
nextWednesday.setDate(today.getDate() + ((3 - today.getDay() + 7) % 7) + 1);
return nextWednesday.toISOString().split('T')[0];
}
// Функция для получения следующего понедельника
function getNextMonday() {
var today = new Date();
var nextMonday = new Date(today.getTime());
nextMonday.setDate(today.getDate() + ((1 - today.getDay() + 7) % 7) + 1);
return nextMonday.toISOString().split('T')[0];
}
// Функция для получения следующего воскресенья
function getNextSunday() {
var today = new Date();
var nextSunday = new Date(today.getTime());
nextSunday.setDate(today.getDate() + ((6 - today.getDay() + 7) % 7) + 1);
return nextSunday.toISOString().split('T')[0];
}
// Функция для получения максимальной даты (здесь можно задать нужное значение)
function getMaxDate() {
var maxDate = new Date();
maxDate.setFullYear(maxDate.getFullYear() + 19); // Например, максимальная дата через год
return maxDate.toISOString().split('T')[0];
}
});
</script>
I solved the problem by making a javascript which works great. But there is a problem, it only works in the PC version, through an iPhone or Android device, javascript does not work. Where did I make a mistake?