@huko

Как динамически добавлять новые select меню после выбора предыдущего?

В django есть база с названиями треков.
Нужно на основании этой базы создать плэйлист через select меню, количество треков может быть самое разное, поэтому нужно после выбора трека автоматически показывать новое аналогичное меню.
Как это лучше сделать ?
  • Вопрос задан
  • 238 просмотров
Решения вопроса 1
@IvanOne
Задача описана не полностью, но исходя из того что есть могу предположить что есть модель плейлиста и к ней через many to many цепляются треки, в таком случае я бы применил формсеты. Но если надо что бы было асинхронно, то просто при сохранении трека отправляейте ajax на сервере сохраняйте модель, и в шаблоне генерируйте форму. Про формсеты почитайте в доках там хорошо описано.
Если нужно что то подгружать в селекты дополнительно то воспользуйтесь jquery допустим в форме есть категории выбирая категории подгружаем треки, самый простой способ это jquery, вешаем на селект событие
$("select").change(function(){
})

И в этой функции посылаете запрос на сервер где указываете категорию, на сервере во вьюхе выбираете треки которые нужно, имеет смысл выбирать только id и названия. с помощью json упаковываете в json строку и посылаете ответ, ну и дальше на клиенте обрабатываете запрос и генерируем option.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@djay
1. У Джанго нет базы. Это в MySQL есть база. А в базе есть таблица с названиями треков. Джанго пингует базу и засовывает результат в словарь.
2. Динамическая подрузка елементов обычно реализуется либо вручную через Jquery+Ajax, либо дата биндингами Angular + его http service.

Погугли сам по 2-му пункту, мне лень все расписывать детально.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы