Процентная загрузка <option> в <select>

donflash

Вареник клуба
Процентная загрузка <option> в <select>

Через ajax я делаю очень много <option value="...">...</option> и потом вставляю их, через innerHTML в <select>... Всё нормуль работает, вот тока можно ли сделать полоску загрузки. То есть, при выборе чего-то в одном <select> данные подгружаются во второй, а когда они подгружаются, то пишется скока уже загрузилось...
 

rotoZOOM

ACM maniac
donflash если ты подгружаешь все не одним запросом, а частями, то конечно можно все процентами организовать.
Если же все в одном запросе, то выводи на экран скрытый div, в котором будет надпись типа: "Подождите, идет подгрузка данных"
 

donflash

Вареник клуба
если ты подгружаешь все не одним запросом, а частями
Это как?

Если же все в одном запросе, то выводи на экран скрытый div, в котором будет надпись типа: "Подождите, идет подгрузка данных"
Это понятно, но меня интересует именно процентная загрузка или, в идеале, поэлементная...
 

flash-vkv

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

donflash

Вареник клуба
Что значит "грузите" фреймом? Какая разница? Как "выудить" информацию, о том, скока инфы уже получена с сервера?
 

MiksIr

miksir@home:~$
Если следовать спецификации w3c, то после происхождения state 3 можно получить хидеры ответа (и взять их них Content-Length) и можно взять responseText, который содержит fragment of the entity body received so far (when readyState is 3 (Receiving)). На основе этого можно посчитать процент.
Будет ли это работать на практике - хз. Чорт, как же нужен на работу хороший верстальщик-жаваскриптчик =) Вощим, если получится, расскажи =)
 

donflash

Вареник клуба
Ладно.. буду мудрить... Есть у меня пара соображений насчёт одного способа...
 

rotoZOOM

ACM maniac
donflash подгрузка частями: сначала посылаешь запрос серверу и спрашиваешь, какое количество элементов тебе должен отдать сервер.
Далее, разбиваешь это число на части (например по 25 значений), и запрашиваешь последовательно каждую часть:
- cервер а дай-ка мне записи с i-ой по (i+25)-ую.
По приходу ответа ты меняешь значение в прогресс-баре на соответсвующее.
Допустим у тебя всего записей N, и в данный момент ты получил от сервера записи с i по (i+25), тогда у тебя выполнилось ((i+25) *100 / N) %
Такой метод хорош, только когда у тебя ДЕЙСТВИТЕЛЬНО много записей.
 
Сверху