在elFinder中禁用多个文件选择

时间:2015-06-22 19:33:32

标签: javascript jquery elfinder

我们正在使用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)。

1 个答案:

答案 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);

请参阅https://github.com/Studio-42/elFinder/issues/2334