Достаточно распрастраненная задача также часто решаемая на клиентской (javascript) стороне как и на серверной (путем перезагрузки страницы с передачей через url дополнительной информации).
Пример. Есть 2 списка: список стран и список городов каждой страны. При смене страны в первой списке - нужно обновлять список городов во 2-ом списке. Данная задача предлагает такой клиентский вариант ее реализации.
На html-страницу за единственный запрос грузится информация по всем странам и по всем городам (с привязкой к соответствующим странам). В javascript эта информация записывается в виде вложенного, структурированного объекта(хеша). Первый уровень - идентификаторы стран. В них - массив из объектов-городом. Каждый такой объект - тоже соответственно хеш из идентификатора(value) города и его названия(text).
При смене значения в первом списке стран - мы: