2012-07-10 2 views
0

Я использую jQuery UI Selectmenu по Filamentgroup для выбора вопросов из базы данных. Сценарий в основном представляет собой причудливое меню сверления, используя список и раскрывающуюся функцию. После нескольких ухищрений (скрипт бета-версии) он работает очень хорошо, однако я использую LOT дублированных данных, что делает скрипт медленным и вялым. Основная причина этого заключается в том, что я использую развернутое меню, в то время как я должен использовать прикованное меню выбора.Создание огромного списка с повторяющимися данными быстрее с помощью AJAX

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

В сценарии пользователь «сверлит вниз» через 4 категории, все из которых содержат несколько параметров. В итоге появляется список вопросов. Но вопросы ВСЕГДА то же самое. До сих пор пример, пользователь идет корыто этот список:

Пол (2 варианта)> Возраст (3 варианта)> Образование (3 варианта)> Категория (6 вариантов)> Список вопросов

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

Идеально было бы, если содержимое особенно последнего списка будет загружаться всякий раз, когда он будет выбран, а не когда страница загружается. Я читал что-то подобное с Джоном. Я читал весь день в этом, но с моим ограниченным знанием javascript и jquery я никуда не денусь.

Может ли кто-нибудь дать предложение о том, что я могу сделать? Я знаю, что никто не собирается делать этот сценарий для меня, но, возможно, для существующего скрипта требуется только несколько настроек, которые легко реализовать для экспертов. Или, возможно, есть возможность просто «добавить» что-то в список, или, может быть, вы, ребята, знаете похожий скрипт с уже встроенной функцией.

Список построен в функции PHP. Я очень хорошо знаю PHP, поэтому, если есть что-то, что я могу использовать там, это тоже вариант. Например, загружать/выполнять только функцию, когда она выбрана в списке.

Update:

  • JSfiddle
  • Script examples (без Ajax)
  • Сценарий Я использую:

    jQuery.ajax ({ URL: "questions.php", cache: false }). Сделано (функция (html) { jQuery (". Результат ") добавить (HTML). });

Вопросы.php загружает вопросы из базы данных MySQL, а echo - как неупорядоченный список. Вопросы появляются в любом месте страницы, если я не буду использовать их в самом списке, где они должны быть.

+0

Ajax был бы вариантом, хотя я не настолько хорош в JS. –

+0

Да, ключевое слово действительно асинхронно, но как его реализовать, для меня это другая история. – mat

ответ

1

http://api.jquery.com/jQuery.ajax/

Это было бы то, что вы хотели бы использовать для реализации отнимания списка на основе по мере необходимости.То, что я сделал бы, было бы на определенных событиях, чтобы захватить следующую необходимую информацию, в вашем случае вопросы, а затем делать то, что вам нужно, с возвращенными данными.

Пользователь выбирает следующее меню -> Ajax-вызов веб-скрипта на вашем веб-сайте -> Возвращает строку JSON -> визуализирует или управляет строкой JSON на вашей странице.

+0

Я собираюсь попробовать с этим. Я проголосовал за ваш ответ, этого я еще не нашел. Я слишком разбирался в сценариях. – mat

+0

У меня нет реальных фреймворков для того, что вы хотите сделать, но есть, как в ссылке выше, библиотеки, которые могут помочь вам с точно такими функциями, которые вам нужны. Документация JQuery довольно хороша, и есть много примеров, поэтому сложно интегрироваться в ваш проект. – sean

+0

Mmhh, он работает за пределами списка, но когда я помещаю его в список, он не загружает вопросы. Я даже не могу заставить скрипку работать, чтобы показать вам пример. Но, возможно, вы знаете, что это основная вещь или что-то в этом роде. Я обновил свой пост. – mat

Смежные вопросы