Аватар для HotReboot
326 / 227 / 92
Регистрация: 22.04.2017
Сообщений: 1,136

Обновление переменных

19.08.2021, 18:51. Показов 1719. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Ситуация такая: есть select у которого при onchange срабатывает ajax который возвращает даты. Эти даты должны быть в функции написанные на js - даты которые нельзя выбрать. Как их менять? Спасибо.

Добавлено через 13 минут
Извиняюсь. Не туда кликнул. Конечно нужно в js для чайников.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.08.2021, 18:51
Ответы с готовыми решениями:

обновление переменных json через php
Уже не знаю куда писать... Подскажите почему не работает оригинал: $oldname = trim($oldname); // Имя переменной...

Обновление переменных
Объекты перерисовываются много раз в секунду. И при каждой прорисовки нужна обновлять данные с сервера. На сервере они присылаются по...

Создание и обновление переменных
Необходимо внедрить в класс переменные и потом обновлять их через ролик. Хотелось бы без использования XML(1. С ним никогда не работал; 2....

9
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
20.08.2021, 07:43
Вопрос не особо понятен. Вы с помощью AJAX получаете с сервера даты, которые нужно запретить указывать в каком-то другом элементе формы, при дальнейшем её заполнении?
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
20.08.2021, 16:46
HotReboot, ну ладно только что зарегистрировавшиеся. Но вы-то уже опытный форумчанин.
Публикуйте коды к вашим вопросам! Так мы все сэкономим кучу времени. Пока мы наводящими вопросами сможем понять суть задачи или проблемы, может пройти не один день.
Покажите разметку selectа, опубликуйте код обработчика события onchange, код запроса, формат ответа от сервера и прочее.
0
 Аватар для HotReboot
326 / 227 / 92
Регистрация: 22.04.2017
Сообщений: 1,136
20.08.2021, 17:04  [ТС]
Balanaar, Да речь собственно шла не об исходниках, а самом принципе смены переменных. Никак я не освою эти видимости переменных. Вот другой вопрос, нужен опять ни код (или кусочек когда) который бы "узнавал" занятость даты. Ситуация. Ajax возвращает json
Code
1
[["2021-08-25", "2021-09-28"]];
который потом делаем в массив (всё это для Datepicker) и есть у меня дата, например 2021-08-22. Каким алгоритмом мне узнать, что после 2021-08-22 есть занятые даты вот из того массива? Спасибо.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
20.08.2021, 17:58
Допустим у нас есть исходный массив дат в формате YYYY-MM-DD:
JavaScript
1
const datesStringsArray = ['2021-08-25', '2021-09-28', '2020-10-15', '2021-11-01', '2021-02-27', '2022-01-01'];
И исходная дата для проверки:
JavaScript
1
let initialDate = '2021-08-22';
Преобразуем даты из строкового значения в объект Date. Воспользуемся конструктором этого объекта, предварительно разобрав строки на массивы по разделителю - и применив spread-оператор:
JavaScript
1
2
const datesArray = datesStringsArray.map(dateString => new Date(...dateString.split('-')));
initialDate = new Date(...initialDate.split('-'));
Фильтруем изначальный массив. Ищем даты больше, чем исходная:
JavaScript
1
const result = datesStringsArray.filter((_, i) => datesArray[i] > initialDate);
Выводим:
JavaScript
1
console.log(result); // ["2021-08-25", "2021-09-28", "2021-11-01", "2022-01-01"]
0
 Аватар для HotReboot
326 / 227 / 92
Регистрация: 22.04.2017
Сообщений: 1,136
20.08.2021, 23:45  [ТС]
Balanaar, Спасибо, но мне было бы достаточно true или false ) И да, у меня многомерный массив. Там две [[]] стоят.
0
331 / 238 / 80
Регистрация: 15.11.2017
Сообщений: 453
Записей в блоге: 4
21.08.2021, 15:06
HotReboot, добавлю, что будьте аккуратны с объектами Date, если будете выводить данные оттуда - там нумерация дня и года с 1, а месяца с 0.
Скрипт работает как надо, но по факту все даты здесь сравниваются +1 месяц.

Добавлено через 5 часов 38 минут
Кстати, сейчас проверил, всё-таки будут в коде ошибки:
JavaScript
1
2
console.log(new Date(2021, 1, 29) > new Date(2021, 2, 1)); // false
console.log(new Date(2021, 1, 31) > new Date(2021, 2, 1)); // true - опачки
Добавлено через 1 минуту
Balanaar, недоработка
1
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
21.08.2021, 15:27
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
const datesStringsArray = ['2021-08-25', '2021-09-28', '2020-10-15', '2021-11-01', '2021-02-27', '2022-01-01'];
let initialDate = '2021-08-22';
const datesArray = datesStringsArray.map(dateString => strToDate(dateString));
initialDate = strToDate(initialDate);
const result = datesStringsArray.filter((_, i) => datesArray[i] > initialDate);
console.log(result); // ["2021-08-25", "2021-09-28", "2021-11-01", "2022-01-01"]
 
function strToDate(str) {
  str = str.split('-');
  str[1]--;
  return new Date(...str); 
}
0
 Аватар для HotReboot
326 / 227 / 92
Регистрация: 22.04.2017
Сообщений: 1,136
21.08.2021, 18:59  [ТС]
Balanaar, Ну это не работает с многомерным, о котором я сразу написал.
JavaScript
1
2
3
4
var datesStringsArray = [
    ['2021-08-22', '2021-08-24'],
    ['2021-08-29', '2021-09-30']
];
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
22.08.2021, 18:05
HotReboot, ну так переделайте для многомерных...
JavaScript
1
2
3
4
const datesStringsArray = [
    ['2021-08-22', '2021-08-24'],
    ['2021-08-29', '2021-09-30']
].flat();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.08.2021, 18:05
Помогаю со студенческими работами здесь

Обновление всех переменных и свойств компонентов формы
Вобщем такое дело. Вот например на форме меняю button1.Enabled на false. И как сделать что бы при нажатии на кнопку обновлялись все...

Обновление значений переменных при изменении фокуса
Вот процедура, в которой вычисляется значение для поля: procedure TDM.BiletCalcFields(DataSet: TDataSet); begin a :=...

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

Не могу установить обновление KB2670838 (Обновление платформы для Windows 7)
Не могу установить обновление KB2670838(Обновление платформы для Windows 7). Запускаю .msu файл, начинает устанавливаться, но в конце...

Найти в файле с текстом программы объявление переменных и подсчитать количество переменных
Есть задача: найти в файле с текстом программы объявление переменных и подсчитать количество переменных. Т.е. ищем строку с int,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru