Я работаю над панелью, в которой отображается список хостов. Когда пользователь нажимает на хост, я хотел бы открыть модальный диалог с дополнительными сведениями об этом хосте. В настоящее время я использую удалённую модульную функциональность Bootstrap для запуска представления Django и заполнения модального. Эта функциональность работает отлично для первого модального, который генерируется. После этого один и тот же модально отображается только один раз, независимо от ссылки, на которую нажата кнопка.hide.bs.modal не работает в Bootstrap 3.2 w/Django 1.6.5 (удаленный модальный контент)
Я нашел сообщения об этой проблеме на SO и в других местах, и это предложенное решение (с использованием JQuery):
$('#hostDetail').on('hide.bs.modal', function(e) {
$(this).removeData('bs.modal');
});
Я пытался сделать это, но приведенный выше код не срабатывает. Я попытался добавить console.log ('hidden!') Только для подтверждения, но журнал никогда ничего не показывает. В консоли также не отображаются ошибки. Есть ли какая-то простая вещь, которую я не замечаю, что мешает работе этого кода? Это начинает сводить меня с ума!
вот мой HTML, где я называю модальность:
<a href="/portal/hostdetail/{{host.hostname}}" data-toggle="modal" host-name="{{host.hostname}}" data-target="#hostDetail">{{host.hostname}}</a>
и вот сама модальный (локальная модальный, а не удаленный один):
<div class="modal fade" id="hostDetail" tabindex="-1" role="dialog" aria-labelledby="remoteModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content"></div>
</div>
</div>
Кроме того, я был что «удаленная» модальная функциональность устарела из Bootstrap и что я должен использовать функцию .load jQuery. Если это так, и нет способа исправить мой текущий код, может ли кто-нибудь связать меня с хорошим ресурсом, чтобы показать, как это сделать через jQuery? Я очень люблю noob, когда дело доходит до jQuery и Javascript, поэтому что-то очень простое было бы потрясающе!
Заранее спасибо.
Я бы рекомендовал что-то вроде [Knockout.js] (http://knockoutjs.com/) вместо использования шаблонов jQuery и server-side. – cvrebert
Я ценю предложение, но даже используя Knockout [похоже] (http://stackoverflow.com/questions/22706765/twitter-bootstrap-3-modal-with-knockout) Мне все равно нужно будет использовать «.on ('hide.bs.modal') ", который, похоже, не работает вообще в моем случае. Любая идея почему? –
Я попытался вставить скрипт jQuery, который обнаруживает модальное спряжение на удаленной странице, и он срабатывает просто отлично ... единственная проблема заключается в том, что кеш на «статической» странице не очищается. Если я запустил $ ('# hostDetail'). RemoveData ('bs.modal'); в консоли Javascript это имеет желаемый эффект. Моя основная проблема заключается в том, что мне нужно определить, когда «удаленный» модальный закрывается, поэтому я могу запустить функцию removeData в соответствующее время. –