Обработка <select> в форме для получения данных при выборе <option>

amv

Новичок
Пользователь
Июн 23, 2020
19
2
3
Доброго дня всем, братья и сестры!
Я - новичок (ха-ха-ха), только учусь. Делаю учебный проект: CRUD-приложение на связке Flask-Python.
Web-страница, о которой я тут рассуждаю, генерится только для залогиненного пользователя (login required), который видит только свои студенческие группы.

Задача следующая:
Есть форма, в которой <select> и два <input type="text">. Соответственно, в select'е содержатся номера студенческих групп, полученные sql-запросом из базы.

Скажем, пусть это будут группы "21 БЗДЫМ" и "404 ОБАНА". При выборе в select'e соответствующей группы я должен получить в текстовых инпутах для этих групп наименование факультета и примечание к группе опять же из соответствующей записи в базе данных.

Например:
выбрал в select'e группу 21 БЗДЫМ - в текстовых инпутах получил факультет - "ОМГ" и примечание "Магистры 2020"
выбрал в select'e группу 404 ОБАНА - в текстовых инпутах получил факультет - "Цирк на Цветном" и примечание "Клоуны 2018"

Мне пришли в голову два пути реализации:

1. Я уже выучил аббревиатуру AJAX. На select навешиваем событие change, получаем значение выбранного элемента, делаем ajax-запрос к базе, получаем необходимые значения факультета и примечания, подставляем в input'ы.
2. При создании web-страницы используем data-атрибуты, например, генерим наш select как-то так:

HTML:
<select class="form-control" id="selectgroup">
   <option selected></option>
   <option data-groupid="1" data-groupname="21 БЗДЫМ" data-chair = "ОМГ" data-prim = "Магистры 2020">21 БЗДЫМ</option>
   <option data-groupid="2" data-groupname="404 ОБАНА" data-chair = "Цирк на Цветном" data-prim = "Клоуны 2018">404 ОБАНА </option>
</select>

Потом используем опять же событие change, в нем получаем значения атрибутов выбранного option и подставляем их в input'ы.

Вопрос:
Это мои собственные измышления.
А как вообще квалифицированные люди решают такие задачи?
Что можно почитать по этому поводу?

P.S. - если что - я никакого отношения к преподдавательству или учительству не имею, просто тренируюсь :)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 595
460
83
Попробуйте через WTForms и Sqlalchemy
 

Форум IT Специалистов