Fancy Box - как обновить DIV в закрытом модальном окне - PullRequest
1 голос
/ 03 ноября 2010

Я искал все выше и ниже по этому форуму и до сих пор не вижу ответа.И я думаю, что начинаю сходить с ума.

Может быть, я просто скучаю по нему, поскольку я НЕ программист.Я визуальный дизайнер, который обычно может установить предварительно написанный код без особых затруднений.И действительно, я установил FancyBox, и он работает нормально, за исключением одной небольшой проблемы, с которой мне отчаянно нужна помощь.

Я работаю с динамически генерируемой страницей, написанной на ColdFusion.Три элемента на странице содержат ссылки FancyBox, которые открывают экраны редактирования.Как только редактирование завершено и пользователь закрывает модальное окно FancyBox, изменения должны быть отражены на родительской странице.

Верно, поэтому я смог найти решение, которое обновляет всю страницу

'onClosed ': function () {parent.location.reload (true);}});

Как, о-о, как мне получить всего один div для обновления "onClosed" применительно ко всей странице ??????

Ответы [ 2 ]

1 голос
/ 03 ноября 2010

Есть несколько способов сделать это.

Один из способов - получить содержимое div с помощью функции.Эта функция будет предварительно вызывать ajax-вызов для получения содержимого, скажем, функция называется getcontent ();ваш синтаксис будет выглядеть примерно так: onClosed': function() { getcontent(); }

Лучший способ сделать это - получить отредактированный контент и вставить его в div.Допустим, вы установили текст переменной с содержимым после сохранения в редакторе, после чего вы можете вставить эту переменную в div с помощью onClosed': function() { $('#divid').html(yourvar); }

Я должен сказать, что оба способа нелегко реализовать.Может быть, если вы покажете код, который у вас есть на данный момент, мы можем помочь вам еще.

0 голосов
/ 03 ноября 2010

Прямо на Тима, ну, Fancybox использует jquery и загружает свою собственную "библиотеку".

Каждая ссылка, которая вызывает fancybox, имеет идентификатор, на который ссылаются следующим образом:

   <script type="text/javascript">

$(document).ready(function() {
$("#link1").fancybox({
'titleShow'     : false,
'width'             : '80%',
'height'            : '80%',
'autoScale'         : false,
'transitionIn'      : 'none',
'transitionOut'     : 'none',
'type'              : 'iframe',
'onClosed': function() {
   parent.location.reload(true); }
            });
});
    </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...