|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.06.2011, 17:20 | #1 |
Форумчанин
Регистрация: 18.08.2010
Сообщений: 140
|
Как не затратить память
Добрый день.
Интересно, что можно предложить в следующей ситуации в качестве выхода На странице html требуется вывести много (столько, сколько в базе, штук 20-30 в средем случе) селектов Код:
Все мастер-селекты одинаковы, только элементы разные выбраны в них, а вот слейв-селекты разные, в зависимости от того, что выбрано в мастере Список option в каждом мастер-селекте содержит где-то 2000 значений, в слейв-селектах где-то по 5 значений Суть проблемы такова, если мы всё это выведем в лоб, то страница зависает минут на 5, пока всё это формируется. Вот я думаю, есть ли какой-нибудь способ вместе 30 одинаковых мастер-селектов выводит один куда-нибудь в память, а если пользователь щёлкает по какому-нибудь из них- вытаскивать из памяти и открывать этот выпадающий селект как обычный. Или это бред?
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
|
11.06.2011, 22:40 | #2 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
Для этого используется ajax.
На событие onchange селектора master вешаете обработчик события ajax. На сервере получаете запросом список slave селекторов и вставляете в slave1. Хотя для этого я думаю вам надо почитать об ajax запросах. |
14.06.2011, 06:15 | #3 | |
Форумчанин
Регистрация: 18.08.2010
Сообщений: 140
|
Цитата:
Проще напишу, забыли вобще про зависимости селектов У вас есть дофига вот таких элементов на странице Код:
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
|
|
14.06.2011, 07:26 | #4 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Передавайте массив данных в JS и от туда формируйте массив вторичных селекторов. Для передачи данных удобно использовать ajax.
|
14.06.2011, 21:34 | #5 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 209
|
если нет надобности каждому пользователю при каждом посещении динамически формировать списки, можно формировать список при редактировании данных и сохранять в файл, потом простым инклудом этот файл подключать пользователю... хотя файл весьма увесистый может получиться, но если у пользователя нормальный интернет, то такая страничка в момент подгрузится, зато нагрузка на сервер на порядок ниже и это быстрее, чем каждый раз насиловать сервер для формирования содержимого, и проще в исполнении.
если содержимое меняется динамически, тогда надо делать так, как Виталий рекомендует, тогда резвость формирования страницы будет зависеть от вычислительной мощности компа пользователя, а сервер будет только выборкой данных заниматься.
Все генитальное просто.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как улучшить память?:-) | Kudryavtsev | Свободное общение | 38 | 09.05.2011 20:27 |
Как отследить используемую память? | whatever | Помощь студентам | 5 | 29.09.2010 15:30 |
Как чистить память. я - чайник :) | delphi-proger | Общие вопросы Delphi | 0 | 24.02.2010 14:53 |
Как выделить память 750mb? | VintProg | Общие вопросы Delphi | 10 | 29.06.2009 20:30 |
Как чистить оперативную память??? | Altera | Операционные системы общие вопросы | 10 | 16.05.2008 14:52 |