#bootstrap
Имеется стандартное модальное окно Bootstrap 2.3.2. Оно запускается через Data API. Код ссылки при клике на которой идет запуск модального окна. ВЫБРАТЬ ГОРОД Как наверно всем понятно, в виде попытки решить проблему кеширования, при смене родительского региона, в ссылке меняется часть URL а именно параметр rand и параметр region так же меняется. То есть ссылка все время разная, как в атрибуте href так и в data-remote. В итоге, иногда это решение работает а иногда нет. Я вот думаю что эти костыли тут не к месту и создатели Bootstrap не настолько глупы чтобы не справиться с этой проблемой "из коробки". Может как проще это можно решить? Да и вообще решить... Атрибут data-baseurl добавлен мной для того чтобы скрипт брал базовый URL и на основе его собирал новое значение для атрибутов href и data-remote Google Chrome Версия 53.0.2785.143 m
Ответы
Ответ 1
Вопрос актуален для широкий аудитории. На все поднимаемые вопросы необходимо давать подробный и четкий ответ. Ну раз вопрос актуален для широкой аудитории, то и ответ нужно давать для максимально широкой аудитории. Чтобы отгрузить данные модального окна при его закрытии, в Bootstrap 2.x можно использовать следующее: $('#CityModal').on('hidden', function() { $(this).removeData('modal'); }); А в Bootstrap 3 это выглядело бы вот так (https://github.com/twbs/bootstrap/pull/7935#issuecomment-18513516): $(document.body).on('hidden.bs.modal', function () { $('#CityModal').removeData('bs.modal') }); // Ну и более универсальный вариант $(document).on('hidden.bs.modal', function (e) { $(e.target).removeData('bs.modal'); }); Взято отсюда https://stackoverflow.com/a/18459248/5381547Ответ 2
Вам нужно разрушать объект модального окна после каждого закрытия: $('body').on('hidden.bs.modal', '.modal', function () { $(this).removeData('bs.modal'); }); Реализация Пример реализации здесь: Plunker Update: jQuery('#RegionLink').on('hidden', function() { $('#CityLink').removeData('modal'); });
Комментариев нет:
Отправить комментарий