Ответьте ДА, это можно сделать.
Во-первых, вам нужно событие, в этом случае вам нужно выполнить действие с событием onChange для selectBox. Поэтому, когда элемент меняется, вы запускаете функцию.
Теперь у вас есть 2 варианта. Вы можете сделать это, используя AJAX или NOT, это действительно зависит от сложности / безопасности вашего приложения.
В дальнейшем я имею в виду
- Пользователи: те, кто использует приложение
- Скрытые данные на стороне клиента: данные, отправляемые клиенту во время загрузки страницы, но не видимые для всех пользователей, однако при использовании источника представления или загрузке файлов JS данные не защищены.
Метод 1 - НЕТ AJAX
Основы: вы отправляете все возможные параметры отображения изначально при первой загрузке страницы, но отображаете только те разделы, которые относятся к пользователю во время событий selectbox onchange.
Рекомендуется, когда: Нет никаких требований безопасности, если скрытые данные на стороне клиента обнаружены (или не будут обнаружены, или вы просто доверяете своей аудитории использовать приложение по назначению). Наконец, когда ваш общий вид перестановок низок.
Метод 2 - AJAX
Основы: изначально вы отправляете вниз только каркас страницы, когда пользователь изменяет значение поля выбора, затем вы делаете AJAX-запрос к серверу - захватываете новую информацию о просмотре, относящуюся к этому пользователю, отправляете ее обратно вниз к сценарию, который будет вводить эти пользовательские данные в DOM.
Рекомендуется, когда: у вас есть общедоступный сайт или сайт, где безопасность является соображением. Там, где у вас много перестановок представлений или требуется больше настроек для пользователя, чем в сценарии 1.
Как вы видите, оба метода не требуют репоста - метод 1 отправляет все заранее, метод 2 использует AJAX для заполнения данных при необходимости. Оба метода действительны в зависимости от ваших требований.