Добавить несколько drop_elements

Я использую Plupload на странице, которая будет иметь несколько drop_elements, а также кнопки просмотра. Мой вопрос, по умолчанию с помощью plupload вы можете определить элемент для drop_element и browse_button, из того, что я прочитал и попробовал, он принимает только 1 элемент, который является идентификатором этого элемента.

Мне нужно как-то расширить это, чтобы я мог определить массив идентификаторов или изменить его на класс вместо идентификатора.

var uploader = new plupload.Uploader({
        runtimes : 'gears,html5,flash,silverlight,browserplus',
        browse_button : **['ele_id1', 'ele_id2']**,
        drop_element : **['dropzone_id1', 'dropzone_id2']**,
        max_file_size : '200mb',
        url: '//senditfrom.me/fileupload/upload/do_upload',
        flash_swf_url: '//senditfrom.me/fileupload/js/plupload.flash.swf',
        silverlight_xap_url: '//senditfrom.me/fileupload/js/plupload.silverlight.xap',

        resize : {width : 320, height : 240, quality : 90}
    });

Это возможно? кто-нибудь нашел способ просто иметь 1 элемент?

3 ответа

Я знаю, что это старый вопрос, но я столкнулся с проблемой наличия 2 кнопок browse_buttons и нашел способ решить ее, которой я хотел бы поделиться здесь.

HTML:

<form id="uploader">
    <input type="button" class="pickfiles" id="0" value="Select 1"/>
    <input type="button" class="pickfiles" id="1" value="Select 2"/>
</form>

JS:

var uploader = new plupload.Uploader(
    {
        browse_button : '0',
        container : 'uploader',
    });

$('.pickfiles').mouseenter(function()
{
    uploader.settings.browse_button = $(this).attr('id'); //Assign the ID of the pickfiles button to pluploads browse_button
    uploader.refresh();
});

Смотрите ниже jsfiddle для деталей.

http://jsfiddle.net/wLMNB/

Я не уверен, изменился ли плагин с тех пор, как Дэвид Хили опубликовал свой ответ, но я обнаружил, что его ответ работает с небольшой модификацией.

Его раздел:

$('.pickfiles').mouseenter(function()
{
    uploader.settings.browse_button = $(this).attr('id'); //Assign the ID of the pickfiles button to pluploads browse_button
    uploader.refresh();
});

Должен быть изменен на:

$('.pickfiles').mouseenter(function () {
            uploader.setOption("browse_button", $(this).attr('id')); //Assign the ID of the pickfiles button to pluploads browse_button
        });

И Престо это работает!

Возможно, вам придется взломать плагин. в плагине они использовали getElementById(browse_button), вы можете вместо этого попробовать изменить его на использование класса. Я не пробовал это, но это может сработать.

Другие вопросы по тегам