jquery colorbox回调值关闭

时间:2013-11-03 09:17:28

标签: jquery colorbox

我需要一些关于如何实现彩盒回调的帮助,不知道如何做到这一点。

当用户点击父表单上的“添加图片”按钮时,我有一个在彩色框模式窗口中弹出的表单。用户从此表单中选择或上传图像(称为文件管理器),目前我有一个脚本,该格式在彩盒关闭之前填充父表单。这种方法有效。

但是我知道想继续在其他页面中重复使用这个文件管理器,所以这个方法不再实用,所以我正在尝试重新设计,以便表单返回上传项目的值并让父表单处理需要在表单中更新的内容 - 使我的文件管理器对我的应用程序更加通用。

我发现了一个自定义colorbox关闭方法的帖子:

jQuery(document).ready(function($) {

    var originalClose = $.colorbox.close;
    $.colorbox.close = function(){
        var response;
        if($('#cboxLoadedContent').find('form').length > 0){
           response = confirm('Do you want to close this window?');
           if(!response){
              return; // Do nothing.
           }
        }

        alert(filename); 
        //do something before close
        originalClose();
    }; 

    $('#add-image').click(function(event) {
        $.colorbox({href:"/filemanager/"});
        return false;
    });
});

在模态形式中有一个名为'filename'的脚本变量,我认为我可以简单地引用它 - 在我的测试中它是未定义的 - 这是有意义的并且预期因为'filename'的应对不是全局的。

从模态形式检索值的最佳方法是什么(作为javascript变量存在?我是否需要考虑全局变量?

有没有办法让colorbox在其关闭回调中传回一个值?

是否有替代颜色框可以拉动ajax形式并返回值?

感到困惑和不确定的方法。

由于

1 个答案:

答案 0 :(得分:0)

您可以在colorbox插件中编写如下所示的publicMethod,然后在调用的onClosed事件中调用该publicMethod以获取数据。

在colorbox插件中,进行以下更改:

publicMethod.get_selected_files = function() {
// You can store all the selected files in an array which will be defined as the global variable inside colorbox plugin 
    return selectedFiles;
}

在调用颜色框的通话中,添加onClosed事件,如下所示:

onClosed:function(){
    $.colorbox.get_selected_files();
}