@i_yan

Как сделать, чтобы при существующем объекте в модальном окне Bootstrap отображались его поля(Spring)?

Добрый день. Пытаюсь реализовать модальное окно Бутстрапа, которое будет хранить информация о объекте по id.

Сам js код
$(document).ready(function () {
    $('.card-deck .eBtn').on('click', function (event) {
        event.preventDefault();
        var href = $(this).attr('href');
        var text = $(this).text();
        if (text=='Show') {
            $.get(href, function (tour, status) {
                $('.myForm #id').val(tour.id);
                $('.myForm #title').val(tour.title);
                $('.myForm #description').val(tour.description);
                $('.myForm #startTime').val(tour.startTime);
                $('.myForm #endTime').val(tour.endTime);
                $('.myForm #price').val(tour.price);
            });

            $('.myForm #exampleModal').modal();
    });
});


Кнопка, по которой будет запускаться модальное окно

<a th:href="@{findOne/(id=${tour.id})}" class="btn btn-primary eBtn">Show</a>

И контроллер Спринга
@GetMapping("/findOne")
    @ResponseBody
    public Tour findOne(Integer id) {
        return tourRepository.findById(id).get();
    }


Интересует как правильно написать код в
div class="modal-body", div class="form-group" ...
чтобы поля объекта отображались в модальном окне?
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix Куратор тега Spring
Java Software Engineer
Добрый день.
При клике на кнопке Show вам необходимо отправить ajax запрос на сервер и получить информацию об объекте в json формате.
Затем полученный объект распарсить и вставить в соответствующие поля.
Чтобы отправить ajax запрос смотрите на:
https://api.jquery.com/jquery.get/
https://api.jquery.com/jquery.ajax/
Дальше уже дело техники...
Чтобы вернуть ответ в json используйте либо @RestController или же @ResponseBody, если используете @Controller

Судя по вашему коду, вы все правильно сделали. А в чем именно ошибка или проблема?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы