Передача выпадающего выбора модалу с помощью цикла Django For Loop
У меня есть выпадающий список с вариантами выбора. Выпадающий список должен быть связан с модалом, где я хотел бы сказать: "Вы выбрали вариант A" (или B или C), в зависимости от того, что было нажато.
Я пробовал data-target="#myModal{{choice}}"
и id="myModal{{choice}}"
, надеясь, что они будут связаны, но с этим, модал вообще не появляется.
Модал появляется, когда я удаляю {{choice}}
, но это не то, чего я хочу.
Спасибо, что прочитали. Ваша помощь будет очень признательна.
views.py:
def modal_home(request):
choices = [
"A",
"B",
"C"
]
return render(request, 'modal/test-modal.html', {
'choices': choices,
})
test-modal.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class="dropdown">
<button class="btn dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown">
Create
</button>
<div class="dropdown-menu">
{% for choice in choices %}
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#myModal{{choice}}">{{ choice }}</a>
{% endfor %}
</div>
</div>
<div class="modal fade" id="myModal{{choice}}" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">MODAL</h5>
<button type="button" class="close" data-dismiss="modal">
</button>
</div>
<p>Here I want to say "You selected Choice A"</p>
</div>
</div>
</div>
</body>
</html>
Нужно сделать еще один цикл и создать .modal
для каждого из choices
.
<div class="dropdown">
<button class="btn dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown">
Create
</button>
<div class="dropdown-menu">
{% for choice in choices %}
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#myModal{{choice}}">{{ choice }}</a>
{% endfor %}
</div>
</div>
{% for choice in choices %}
<div class="modal fade" id="myModal{{choice}}" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">MODAL</h5>
<button type="button" class="close" data-dismiss="modal">
</button>
</div>
<p>You selected Choice {{ choice }}</p>
</div>
</div>
</div>
{% endfor %}