Ich bin relativ neu der Web-Programmierer, so dass dies möglicherweise eine Lösung durch JavaScript oder nicht lösbar sein kann. Wenn nicht, bitte zeigen Sie mir in die richtige Richtung.Modale erstellt in Jinja Bedingungsanweisung zeigen alle die gleichen Daten
{% for thought in user.thoughts %}
<div class="panel panel-default">
<!-- Icon to Display Modal -->
<div class="panel-heading" align="right">
<a href={{ "/edit/" ~ thought.id }} data-toggle="modal" datatarget="#EditModal" data-placement="left" title="Edit">Icon Here!</a>
</div>
<!-- Modal -->
<div class="modal fade" id="EditModal" tabindex="-1" role="dialog" aria-labelledby="LabelModel">
<div class="modal-dialog" role="document">
<div class="modal-content" align="left">
<!-- Form in Modal-->
<form action={{ "/editthought/" ~ thought.id }} method="post" role="form">
<div class="modal-body">
<textarea class="form-control" rows="10" type="text">{{ thought.body }}</textarea>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Save changes</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- Thought Body -->
<div class="panel-body">
{{ thought.body }}
</div>
{% endfor %}
Hier Iterate ich durch jeden Gedanken mit einem Benutzer verbunden. Jeder Gedanke zeigt ein Feld an, das den Gedanken mit einem Symbol zum Bearbeiten des Gedankens anzeigt.
Wenn Sie auf das Symbol klicken, erscheint ein Modal mit dem Körper des Gedankens. Das Problem, das ich habe, ist, dass alle Mods den gleichen vorgefüllten Gedanken enthalten (der erste in der Liste).
Der Link (href = {{"/ edit /" ~ thought.id}}) auf dem Bearbeitungssymbol ist ebenso korrekt wie der Hauptteil des Bedienfelds. Wenn Sie jedoch das Modal laden, lädt es nicht richtiger Gedanke. Irgendwelche Ideen?
EDIT: Ich kann nicht herausfinden, wie Code zu kommentieren. Nach dem Ratschlag habe ich das Modal aus der for-Schleife genommen. Ich verwende diese Funktion derzeit, um Daten von meiner Schaltfläche in der For-Schleife an mein Modal weiterzuleiten.
<script>function testFun(variable){document.getElementById('thought_id').innerHTML=variable;}</script>
Es ist jedoch arbeiten ich nur Informationen weitergeben kann, wenn es wie folgt formatiert ist:
<h1 id="thought_id"></h1>
Gibt es eine Möglichkeit, diese Funktion zu ändern, so kann ich es als String ike passieren dies:
<h1>thought_id</h1>
Ah ... Ihr Modal ist ich n die for-Schleife. Ich sehe keine eindeutige ID, um das Modal zu identifizieren. Es öffnet nur das erste Modal und ignoriert den Rest in der Schleife. Technisch könnten Sie einfach eine benutzerdefinierte ID für Ihr Modal und Links erstellen, um sie zu öffnen, aber das ist nicht zu effizient.Ich würde das Modal aus der for-Schleife entfernen und dann JS verwenden, um den Gedanken- und Aktionspfad im Modal-on-Click zu aktualisieren. – Adrianopolis
Bitte beachten Sie das Update, konnte nicht den Code in Kommentaren arbeiten. – Anthony
Beginnen wir hier ... Wenn Sie auf die Schaltfläche klicken, welche Elemente müssen Sie dynamisch im Modal aktualisieren? Ist es nur der Gedanke.Körper im Textfeld und die Form Aktion? Wenn ja, werde ich weitermachen und ein zusätzliches Update auf meine Antwort unten posten. – Adrianopolis