我们的软件使用elFinder,也使用它的文件选择器。
这是(实际工作的)代码:
var elfinderInstance = modalBody.elfinder({
lang: 'de',
[...],
getFileCallback: function(data) {
$("#" + fileInputId).val(data.url);
fileModal.modal("hide");
},
handlers : {
select : function(event, elfinderInstance) {
console.log(event.data.selected);
var selected = event.data.selected;
if (selected.length) {
selectedElement = elfinderInstance.url(selected[0]);
}
}
}
}).elfinder('instance');
但是,只需按下CTRL按钮并单击多个文件,就可以在模式中选择多个文件。
如何禁用此行为
我已经检查了选择处理程序,selected.length已经返回了所选文件的数量,但我不知道如何取消选择以前选择的文件,以便只能选择一个文件。我在文档中也没有发现任何内容(https://github.com/Studio-42/elFinder/wiki)。
对于elFInder 2.1.17或更高版本,连接器主选项maxTargets可用。这是一个抑制连接器侧负载的选项,但在这种情况下也很有效。
$opts = array(
'maxTargets' => 1,
'roots' => array( .... ),
);
参见https://github.com/Studio-42/elFinder/issues/2334