Добавить несколько 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 для деталей.
Я не уверен, изменился ли плагин с тех пор, как Дэвид Хили опубликовал свой ответ, но я обнаружил, что его ответ работает с небольшой модификацией.
Его раздел:
$('.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), вы можете вместо этого попробовать изменить его на использование класса. Я не пробовал это, но это может сработать.