Как создать динамический выпадающий список в Chronoforms 8

Узнайте, как создать динамический выпадающий список в Chronoforms8: пошаговое руководство

Overview

В этом руководстве объясняется, как реализовать динамический выпадающий список в Chronoforms8, где параметры обновляются на основе изменений другого поля. Оно охватывает настройку триггера события, конфигурацию расширенного слушателя в выпадающем списке и создание отдельной страницы со скриптом PHP для предоставления новых параметров в формате JSON. Процесс гарантирует, что выпадающий список обновляется новыми данными, такими как случайный список столиц, при каждом изменении значения поля-триггера.

Динамический выпадающий список — это поле выбора, которое обновляет свои параметры при изменении другого поля. В этом руководстве мы покажем, как это сделать в Chronoforms8.

Сначала нам нужно настроить триггер события в поле, которое будет запускать изменение параметров:

Как создать динамический выпадающий список в Chronoforms 8 image 1

Мы настраиваем триггер с именем "reloadoptions" при "Изменении значения" нашего поля.

Затем в настройках нашего выпадающего списка нам нужно настроить расширенный слушатель:

Как создать динамический выпадающий список в Chronoforms 8 image 2

Имя триггера должно быть тем, которое мы настроили ранее — "reloadoptions". Действие должно быть "Загрузить параметры", а параметры действия — это псевдоним страницы, которая будет предоставлять новые параметры. В нашем случае у нас есть страница с именем "options".

Теперь нам нужно подготовить страницу "options" для получения запроса "Загрузить параметры" и возврата результатов в правильном формате:

Как создать динамический выпадающий список в Chronoforms 8 image 3

Мы добавили новую страницу и установили псевдоним "options", а группу страниц — "options". Важно изменить группу страниц на что-то уникальное в форме, чтобы страница могла быть доступна независимо.

Внутри события загрузки страницы options у нас есть действие PHP для возврата результатов:

Как создать динамический выпадающий список в Chronoforms 8 image 4

В нашем случае у нас есть скрипт PHP для возврата случайного списка столиц:

$cities = [
    "New York", "London", "Tokyo", "Paris", "Sydney",
    "Toronto", "Berlin", "Rome", "Shanghai", "Istanbul",
    "Mumbai", "São Paulo", "Mexico City", "Cape Town", "Buenos Aires",
    "Moscow", "Singapore", "Los Angeles", "Bangkok", "Jakarta"
];

// Перемешиваем массив городов для случайного порядка
shuffle($cities);

// Извлекаем 5 случайных городов
$randomCities = array_slice($cities, 0, 5);

// Создаем массив пар ключ-значение
$randomItems = [];
foreach ($randomCities as $city) {
    $randomItems[] = [
        'text' => $city,
        'value' => $city
    ];
}

// Выводим результат в формате JSON
echo json_encode($randomItems, JSON_PRETTY_PRINT);

Обратите внимание, что список закодирован в JSON, и это массив массивов. Каждый внутренний массив представляет собой параметр и имеет 2 ключа: "text" для текста параметра и "value" для значения параметра.

Вот и все. Теперь при изменении поля-триггера (при изменении значения) выпадающий список получит триггер, вызовет страницу "options" и получит обновленный список параметров.

Comments:

You need to login to be able to post a comment.