你如何从彩盒中获得回报价值?

时间:2011-11-14 18:38:21

标签: javascript jquery jquery-plugins 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
            }   
        });
    });

在颜色框源

var image_name_var = "dynamicaly_change_this_name.png";

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

2 个答案:

答案 0 :(得分:4)

在colorbox打开的任何时候,您都可以调用element方法来检索当前元素的jQuery对象。从那里你可以选择元素,并访问href属性:

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

此外,在任何回调中,执行上下文('this'的值)将是当前元素。因此,如果您想使用onComplete回调,例如,您可以执行以下操作:

$('#example').colorbox({onComplete:function(){
    href = this.href;
}});

答案 1 :(得分:0)

这可能会为你做到

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