Как вы получаете возвращаемое значение из colorbox? - PullRequest
5 голосов
/ 14 ноября 2011

У меня есть цветовой ящик, который позволяет пользователю выбрать изображение. Как я могу получить имя файла обратно из colorbox? (Я заметил функцию onClosed.)


Решение:

Поскольку @Gummy sugested, я использовал функцию onComplete, как иллюстрирует следующий код:

Страница возврата:

<input id="colorbox_hidden_return" type="hidden"/>

...

$("#whatever-you-want-to-click-on-to-get-the-color-box").click(function() {
        $.colorbox(
        {
            href: '<?= site_url('the-source-url') . '/' ?>' + id, 
            height: "600px;", 
            onClosed: function() { // called when the colorbox closes
                var image = $('#colorbox_return_hidden').val();

                // ... other processing - what ever the value was is in image
            }   
        });
    });

В источнике colorbox

var image_name_var = "dynamicaly_change_this_name.png";

$('#submit-or-use-button-id').click(function() {
    $('#colorbox_return_hidden').val(image_name_var);
});

Ответы [ 2 ]

4 голосов
/ 15 ноября 2011

В любое время, когда colorbox открыт, вы можете вызвать метод element, чтобы получить объект jQuery текущего элемента. Оттуда вы можете выбрать элемент и получить доступ к свойству href:

href = $.colorbox.element()[0].href;

Кроме того, в любом обратном вызове контекст выполнения (значение this) будет текущим элементом. Поэтому, если вы хотите использовать обратный вызов onComplete, например, вы можете сделать что-то вроде этого:

$('#example').colorbox({onComplete:function(){
    href = this.href;
}});
0 голосов
/ 14 ноября 2011

Это может сделать это для вас

$(document).bind("cbox_complete", function(){
    var href = $.colorbox.element().attr("href");
    //do something else
});
...