Страница 1 из 1

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

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

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

Спасибо.

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

Добавлено: 03 сен 2025, 09:44
vgrachev
Есть такое поле Значение из родительской сущности...

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

Добавлено: 03 сен 2025, 09:56
GospodinFE
vgrachev писал(а): 03 сен 2025, 09:44 Есть такое поле Значение из родительской сущности...
Это я знаю.
Но хотелось значение в Сущность, выпадающий список (ajax) подставлялось по умолчанию в подсущности из родительской записи.
А при добавлении новой записи оставлять значение по умолчанию или его менять в зависимости от ситуации.

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

Добавлено: 03 сен 2025, 12:30
vgrachev
Тогда выборкой по условию и подставить значение, в документации был пример

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

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

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

Добавлено: 04 сен 2025, 10:28
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>
    ';
}

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

Добавлено: 04 сен 2025, 11:36
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>
    ';
}