Der Versuch, meine Daten vom Controller an die modale Seite zu übergeben.Übergeben von Werten vom Controller an die Modal-Seite
diesen Link: https://qtzar.com/2017/03/24/ajax-and-thymeleaf-for-modal-dialogs/
Erstens: In Controller eine einfache Methode Datenbank
@PostMapping("/showarea")
public String areaModel(Model model) {
LOG.info("/showarea");
List<Zona> zonas = zonaService.findAll();
model.addAttribute("area", zonas.get(0).getNom_ZONA());
LOG.info("area: " + zonas.get(0).getNom_ZONA());
return "modal::modalContents";
}
Ich habe Bereich in meinem Modell abzufragen.
Zweitens: Ich habe ein Beispiel aus: https://v4-alpha.getbootstrap.com/components/modal/#modal-components
einen Text hinzufügen.
<button type="button" class="btn btn-primary" data-toggle="modal"
data-target="#exampleModal">Launch demo modal</button>
<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog"
aria-labelledby="exampleModalLabel" aria-hidden="true" th:fragment="modalContents">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
<button type="button" class="close" data-dismiss="modal"
aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p th:if="${area != null}" th:text="${area}" />
<p th:unless="${area == null}" >area == null</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary"
data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save
changes</button>
</div>
</div>
</div>
</div>
Drittens: ich das Ende dieser Datei ich ein einfaches Javascript aus Bootstrap hinzufügen sowie eine Ajax-Funktion:
<script>
$('#exampleModal').on('show.bs.modal', function(event) {
var button = $(event.relatedTarget) // Button that triggered the modal
var recipient = button.data('whatever') // Extract info from data-* attributes
// If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
// Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
var modal = $(this)
modal.find('.modal-title').text('New message to ' + recipient)
modal.find('.modal-body input').val(recipient)
$.ajax({
type : 'POST',
url : "/showarea",
success : function(data) {
}
});
})
</script>
ich die Daten aus der Datenbank richtig, aber ich bin nicht in der Lage sein, Zeige die Daten in meiner modalen HTML-Seite.
UPDATE 1:
Nicht in der Lage, die Daten in meinem modal zu zeigen. Zum Beispiel habe ich
<div class="modal-body" id="areaValue">
<p id="area" th:if="${area != null}" th:text="${area}" />
</div>
in javascript:
$.ajax({
type : 'POST',
url : "/showarea",
success : function(data) {
$('#areaValue').html(data);
}
});
Debugging mit Firebug I-Werte in modal, aber nicht showded !!!
Ich möchte eine Liste von Werten zeigen, aber nicht in der Lage einen einfachen Text zu zeigen ...
Irgendwelche Vorschläge?
Dank
Nicht in der Lage ist, Werte in modal zu zeigen. Firebug zeigt Werte korrekt an.Aktualisierte Frage – davisoski
öffnest du das Modal nach dem Ajax-Aufruf, wo ich den Kommentar '// Endlich Popup öffnen 'setze? Wenn Sie das Modal vor dem Ajax-Aufruf öffnen, sehen Sie ein nicht aktualisiertes DOM –