我希望我的elfinder在文件选择后自动关闭。
<script>
function upload_slider(){
var f = $('#elfinder').elfinder({
url : 'plugins/elfinder/php/connector.php',
height: 490,
docked: false,
dialog: { width: 400, modal: true },
closeOnEditorCallback: true,
getFileCallback: function(url) {
$('#new_file').val(url);
// CLOSE ELFINDER HERE
}
}).elfinder('instance');
}
</script>
<input type="text" id="new_file" />
<input type="button" onclick="upload_slider();" value="Select File" />
<div id="elfinder"></div>
怎么做?我找不到适当的方式搜索了很多地方。
答案 0 :(得分:1)
答案很接近,但不得不重新加载页面对我来说不是一个选择。我们正在做的是删除elfinder div ...所以在我看来,如果我们有代码在开始时创建它,我们就不必重新加载以恢复它。
<div id="elfcontain"></div>
---------------------------------------------------------------------------
function filebrowser() {
$('#elfcontain').append('<div id="elfinder"></div>');
var elf = $('#elfinder').elfinder({
url: 'data/connector/connector.php', // connector URL (REQUIRED)
getFileCallback: function(url) {
console.log(url);
$('#elfinder').remove();
return url;
}
}).elfinder('instance');
}
对于发现自己处于这种情况的任何人来说只是一个FYI。由于我们每次都会创建elfinder div,因此您现在可以隐藏/显示内容,而无需重新加载。
答案 1 :(得分:0)
几小时后我得到了一个解决方案,因为我有完全相同的问题。我认为它的工作正常。
$().ready(function() {
$('#select-button').click(function(){
var f = $('#elfinder').elfinder({
url : 'plugins/elfinder/php/connector.php',
height: 490,
docked: false,
dialog: { width: 400, modal: true },
closeOnEditorCallback: true,
getFileCallback: function(url) {
$('#fileurl').val(url);
// CLOSE ELFINDER HERE
$('#elfinder').remove(); //remove Elfinder
location.reload(); //reload Page for second selection
}
}).elfinder('instance');
});
})
答案 2 :(得分:0)
比你想象的容易得多。
getFileCallback: function (filePath, fm) {
fm.hide();
}