Значение по умолчанию Сущности ajax.

Все вопросы/проблемы по установке и использовании.
Ответить
GospodinFE
Сообщения: 14
Зарегистрирован: 02 дек 2021, 17:12
Имя: Никита Федоров
Откуда: Воронеж

Значение по умолчанию Сущности ajax.

Сообщение GospodinFE »

Дорого времени суток.
Подскажите, как решить данную задачу?
Есть родительская сущность 1. В ней имеется поле Сущность, выпадающий список (ajax) где выбрано значение.
Есть Подчинённая сущность 2. где есть такое же поле Сущность, выпадающий список (ajax).

Вопрос. Как в поле сущности 2 по умолчанию устанавливать значение из родительской сущности 1 при открытии формы подчинённой сущности?

Спасибо.
Аватара пользователя
vgrachev
Сообщения: 170
Зарегистрирован: 22 фев 2022, 10:10
Имя: Валерий
Откуда: Ростов-на-Дону

Re: Значение по умолчанию Сущности ajax.

Сообщение vgrachev »

Есть такое поле Значение из родительской сущности...
GospodinFE
Сообщения: 14
Зарегистрирован: 02 дек 2021, 17:12
Имя: Никита Федоров
Откуда: Воронеж

Re: Значение по умолчанию Сущности ajax.

Сообщение GospodinFE »

vgrachev писал(а): 03 сен 2025, 09:44 Есть такое поле Значение из родительской сущности...
Это я знаю.
Но хотелось значение в Сущность, выпадающий список (ajax) подставлялось по умолчанию в подсущности из родительской записи.
А при добавлении новой записи оставлять значение по умолчанию или его менять в зависимости от ситуации.
Аватара пользователя
vgrachev
Сообщения: 170
Зарегистрирован: 22 фев 2022, 10:10
Имя: Валерий
Откуда: Ростов-на-Дону

Re: Значение по умолчанию Сущности ajax.

Сообщение vgrachev »

Тогда выборкой по условию и подставить значение, в документации был пример
Аватара пользователя
Antonyous99
Сообщения: 744
Зарегистрирован: 18 авг 2019, 09:22
Имя: Антон Владимирович
Откуда: Санкт-Петербург
Организация: ООО "РИКОМ-Сервис"
Контактная информация:

Re: Значение по умолчанию Сущности ajax.

Сообщение Antonyous99 »

Чтобы в Сущность2 по умолчанию сразу вставало, что выбрано в Сущности1, тут надо пару строчек кода в поле типа Аякс запрос.
ПУЛЬТ УПРАВЛЕНИЯ БИЗНЕСОМ
ERP/CRM "под ключ"
GospodinFE
Сообщения: 14
Зарегистрирован: 02 дек 2021, 17:12
Имя: Никита Федоров
Откуда: Воронеж

Re: Значение по умолчанию Сущности ajax.

Сообщение GospodinFE »

Antonyous99 писал(а): 04 сен 2025, 08:29 Чтобы в Сущность2 по умолчанию сразу вставало, что выбрано в Сущности1, тут надо пару строчек кода в поле типа Аякс запрос.
Спасибо вам огромное за наводку.
Поискал по запросу по форуму и нашел решение.
В итоге получилось вот такое решение.

Код: Выделить всё

if ($Price > 0) {
    echo '
    <script>
        setTimeout(function() {
            let data = { id: ' . $Price . ', text: "Группа по умолчанию" };
            let $select = $("#fields_530");
            if ($select.length) {
                $select.find("option[value=' . $Price . ']").remove();
                let option = new Option(data.text, data.id, true, true);
                $select.append(option).val(data.id);
                $select.trigger({ type: "select2:select", params: {  data } }).trigger("change");
            }
        }, 100);
    </script>
    ';
}
GospodinFE
Сообщения: 14
Зарегистрирован: 02 дек 2021, 17:12
Имя: Никита Федоров
Откуда: Воронеж

Re: Значение по умолчанию Сущности ajax.

Сообщение GospodinFE »

Доработал. Выбрать не давал вручную.
Еще бы ручной выбор сохранял до перезагрузки страницы. Но так и не понял почему это не работает!

P.S. Я не программист :D

Код: Выделить всё

$Price = [665];

if ($Price > 0) {
    echo '
    <script>
        setTimeout(function() {
            var $select = $("#fields_530");
            if (!$select.length) return;

            // Если пользователь уже выбрал вручную — не трогаем
            if ($select.data("manual-change")) return;

            // Подставляем значение
            var option = new Option("Группа по умолчанию НЗ", ' . $Price . ', true, true);
            $select.empty().append(option).val(' . $Price . ');

            $select.trigger("select2:select").trigger("change");

            // Слушаем ручной выбор
            $select.off("select2:select.manual").on("select2:select.manual", function() {
                $(this).data("manual-change", true);
            });

        }, 150);
    </script>
    ';
}

Ответить