Задать вопрос

Bootstrap 3, modal, data-remote?

Возникло следующее затруднение:

— на странице несколько кнопок

— по нажатию на каждую должно открываться модальное окно, контент которого загружается по data-remote из внешнего источника (например: data-remote=«example/?id=1, data-remote=»example/?id=2, data-remote=«example/?id=3 и т.д. Запрашиваемые файлы находятся в том же домене.»

Проблема в том, что впервые нажав на какую-либо кнопку нужный контент загружается, но при нажатии другой кнопки в модальное окно новый контент не загружается, а выводится тот, что был загружен первым.

В официальной документации решение не находится, а гугление показало лишь то, что подобная проблема существует.

Может быть кто-то знает изящное решение?
  • Вопрос задан
  • 7023 просмотра
Подписаться 7 Оценить Комментировать
Решения вопроса 1
cawakharkov
@cawakharkov
по-моему, в 2 версии нужно было удалять окно после закрытия что-бы новый контент грузился, сейчас наверное уже не найду, конкретную реализацию, попробуйте поискать именно с такой позиции — удаление модального окна после закрытия
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@gsd
Bootstrap 3
$(function() {
    $('body').on('hidden.bs.modal', '.modal', function () {
      $(this).removeData('bs.modal');
    });
});
Ответ написан
reaferon
@reaferon Автор вопроса
В BT3 это реализуется вот так:
$('#modal').on('hidden.bs.modal', function(){
    $(this).remove();
});

Но в целом да, работает. Спасибо.
Ответ написан
@karakum22
Я сделал так:
<g:javascript>
    function constructModalDOM(){
        return $("<div></div>").
                attr('id', 'myModal').
                addClass("modal").
                addClass("fade").
                attr('tabindex', '-1').
                attr('role', 'dialog').
                attr('aria-labelledby', 'myModalLabel').
                attr('aria-hidden', 'true').
                on('hidden.bs.modal', onHideModal);
    }
    function onHideModal() {
        $('#myModal').replaceWith(constructModalDOM());
    }
    constructModalDOM().appendTo(document.body);
</g:javascript>

при закрытии модальное окно пересоздается
Ответ написан
Ваш ответ на вопрос

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

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