我们正在使用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按钮并单击多个文件,就可以在模态中选择多个文件。
如何禁用此行为?
我已经检查了select处理程序,selected.length已经返回了所选文件的数量,但是我无法弄清楚如何取消选择以前选择的文件,这样只能选择一个文件。我也没有在文档中找到任何内容(https://github.com/Studio-42/elFinder/wiki)。
答案 0 :(得分:1)
使用elFInder 2.1.17或更高版本,连接器主选项maxTargets可用。这是一个抑制连接器侧负载的选项,但对于这种情况也是有效的。
var main = function() {
var addComment = function() {
var $card;
var $cardBody;
var $formCheck;
var $formCheckLabel;
if($("#comment").val() !== "") {
$card = $("<div>").addClass("card bg-success text-white mt-3");
$cardBody = $("<div>").addClass("card-body");
$formCheck = $("<div>").addClass("form-check");
$formCheckLabel = $("<label>").addClass("form-check-label");
$($formCheckLabel).text($("#comment").val());
$($formCheckLabel).append('<input type = "checkbox" class="form-check-input shift">');
$($formCheck).append($formCheckLabel);
$($cardBody).append($formCheck);
$($card).append($cardBody);
$(".todos").append($card);
$("#comment").val("");
}
};
var remove = function() {
$(".card").on("click", function(event) {
$(this).fadeOut();
});
}
$("#btn").on("click", function(event) {
addComment();
});
$("#comment").on("keypress", function (event) {
if (event.keyCode === 13) {
addComment();
}
});
$(".card").on("click", function(event) {
remove();
});
};
$(document).ready(main);