Сохранить прежний статус с помощью jquery
Я скачал 1 индикатор выполнения загрузки здесь: http://www.malsup.com/jquery/form/progress3.html
Это идеально; в любом случае, только когда файл загружен, он дает статус файла, например:
файл загружен в http://mysite.com/1.jpg
Однако, когда новый файл загружен, статус исчезает, и появляется информация о только что загруженном файле.
Я хочу просто иметь старый статус, и когда загружается новый файл, новый статус просто переходит в старое состояние. Как я мог это сделать?
Вот код:
(function() {
var bar = $('.bar');
var percent = $('.percent');
var status = $('#status');
$('form').ajaxForm({
beforeSend: function() {
status.empty();
var percentVal = '0%';
bar.width(percentVal)
percent.html(percentVal);
},
uploadProgress: function(event, position, total, percentComplete) {
var percentVal = percentComplete + '%';
bar.width(percentVal)
percent.html(percentVal);
//console.log(percentVal, position, total);
},
complete: function(xhr) {
status.html(xhr.responseText);
}
});
})();
</script>
Если вы видите демо в ссылке и хорошо ее понимаете, то внутри HTML появляется статус, который выглядит следующим образом:
<div id="status"></div>
Спасибо!
1 ответ
Ваш complete
обратный вызов сбрасывается status.html()
, И ваш beforeSend
опустошается status
с status.empty();
, Удалить эту строку!
Затем попробуйте добавить новое сообщение, завернутое в какую-то разметку, вместо того, чтобы перезаписывать все содержимое status
:
complete: function(xhr) {
var message = '<div class="new">' + xhr.responseText + '</div>';
status.prepend(message);
}