Загрузите раскрывающийся список в соответствии со значением другого раскрывающегося списка - без обновления страницы в PHP - PullRequest
0 голосов
/ 24 апреля 2009

Я создал страницу на PHP, в которой мне нужно загрузить dropdown2, соответствующий значению dropdown1, без обновления страницы. Значения для этих выпадающих из базы данных.

Я не хочу обновлять страницу для каждого клика.

1 Ответ

3 голосов
/ 24 апреля 2009

два, когда вы отправили свою страницу клиенту, PHP готов. все, что у вас есть, это JavaScript.

  1. Ajax: вы можете использовать вызовы Ajax, когда выбран ваш первый выпадающий список. определите функцию в JavaScript, чтобы при выборе параметра в первом раскрывающемся списке он вызывал URL-адрес и отправлял идентификатор выбранного элемента на этот URL-адрес, извлекал результат XML и использовал его для заполнения второго раскрывающегося списка.

  2. Массивы JavaScript: этот подход аналогичен другому, отличие состоит в том, что все данные обоих раскрывающихся списков уже отправляются клиенту на странице в виде объектов Javascript или массивов. выбрав опцию из первого раскрывающегося списка, ваша функция JavaScript будет заполнять второй раскрывающийся список, используя локальные массивы или объекты, вместо вызова вызова Ajax.

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

Я рекомендую использовать для них хорошо известный фреймворк, например, jQuery. это облегчит все ваши Работа. Вы можете вызывать ajax-вызовы и легко менять потомков второго выпадающего списка.

редактирование:

в первом методе (вызов AJAX) я сказал загрузить данные из XML. Я имел в виду установление соединения AJAX с сервером, с некоторой страницей PHP, которая будет принимать аргумент, такой как значение выбранного параметра в первом теге select, а затем ищет базу данных на сервере, выбирает связанные результаты и возвращает документ XML, который есть все значения для второго тега выбора. и в вашей функции JavaScript, которая сделала запрос Ajax, вы можете анализировать этот XML и создавать теги опций для второго тега select на лету на основе полученного XML. Ваш PHP-скрипт принимает значение и может делать все что угодно, основываясь на этом значении. XML-часть - это просто инструмент передачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...