Точно так же вы можете получить общее представление о механизме: как насчет Ajax-вызова, инициируемого прослушивателем событий, как этот (может также использовать событие click или что-то еще):
После загрузки html-документа добавьте прослушиватель событий к наблюдаемому элементу (здесь он может быть изменен) и вызовите функцию при запуске события:
$(document).ready(function() {
$('#watchedElement').change(callAjaxFunction());
});
Функция для Ajax-вызова:
В переменной data вы можете отправить информацию на сервер, чтобы решить, какие опции отправить обратно. Самый простой способ (хотя бы быстрый и грязный) - вернуть (например, «echo» в php) значения параметров в виде обычного текста / html и заменить старые элементы option на них. Я предпочитаю JSON-способы, описанные в ссылке из комментария к вашему вопросу, поскольку у вас гораздо больше контроля над данными, но для первого впечатления вы можете попробовать, если механизм работает для вас в целом:
function callAjaxFunction() {
$.ajax({
type: "POST",
url: url,
data: { "selectedValue": $('#watchedElement').val() }
success: function(data) {
$("#idOfSelectElement").html(data);
}
dataType: "HTML"
});
}
Только для целей тестирования без какой-либо оценки значения, отправляемого на сервер, вы можете отправить обратно две фиктивные опции, подобные этой (пример для простоты - php-файл, и вы даже можете использовать html-файл, который содержит только сам текст):
<?php
echo "<option value='test1'>Test1</option>" .
"<option value="test2">Test2</option>";
?>
Тем не менее, вероятно, лучше пойти по пути JSON и добавить элемент за элементом, что в дальнейшем упрощает отладку и прочее.