Выполнение части пользовательского интерфейса для выгрузки jQuery вручную - PullRequest
1 голос
/ 03 марта 2011

Я могу загружать файлы уже с jQuery File Upload , но я пытаюсь выполнить часть пользовательского интерфейса самостоятельно по двум причинам:

  • внешний вид, который я хочу, сильно отличается от jQuery UI
  • чтобы узнать внутренности этого плагина немного больше

Моя проблема в том, что я не могу определить поток, необходимый для выполнения следующих действий после удаления файлов:

  1. при initUpload, добавить элемент списка для файла
  2. onProgress, отображать ход загрузки файла в соответствующем элементе списка
  3. onLoad, изменить текст элемента списка на «Завершено»

Я понял, как правильно сделать 1:

initUpload: function(event, files, index, xhr, handler, callBack) {
  console.log("here, create list item for " + files[index].fileName);
  callBack();
  return false;
}

Моя проблема в том, что Я не знаю, как ссылаться на соответствующий элемент списка после создания элемента списка . Когда в onLoad или onProgress, когда я проверяю handler (или другие аргументы, передаваемые этим функциям), я не могу найти способ ссылаться на соответствующий элемент списка, который я хочу обновить.

Как правильно обновить каждый элемент списка?

Ура!

1 Ответ

1 голос
/ 04 марта 2011

Обмен объектами между обработчиками callBacks:

  • Для ссылки на элемент списка вы можете использовать параметр handler - это объект, которыйразделяется между различными методами callBack, но уникален для каждой отдельной загрузки файла.
  • Объект handler содержит параметры загрузки файла и клонируется для каждой инициализации загрузки файла.
  • Пример того, как хранить дополнительные объекты (например, элемент списка или строку загрузки), можно найти в исходном коде jquery.fileupload-ui.js .

Относительно реализации пользовательского интерфейса:

  • Даже если вы используете как jquery.fileupload.js, так и jquery.fileupload-ui.js, используйте jQuery UIявляется необязательным.
  • Чтобы реализовать собственную визуализацию индикатора выполнения, вы можете использовать опцию initProgressBar.
  • Параметры uploadTable / downloadTable и buildUploadRow / buildDonwloadRow не обязательно должны ссылаться на элементы HTML table и tr , но также могут представлять, например, HTML ul и li элементов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...