Ако не искате обновяване на страницата, тогава отговорът е "JavaScript". Сега имате няколко опции там. Лично аз предпочитам да зареждам повече отпред, така че запазвам JSON обект, който очертава възможностите и след това разменям статично съдържание със статично съдържание.
Това би означавало, че при промяна ще имам нещо като:
var first = document.getElementById( "id of first select" )
var items = possibilities[
first.value // you can also do things with selectedIndex and options if needs.
];
var second = document.getElementById( "id of second select" )
for( var i in items )
{
var opt = document.createElement('option');
opt.setAttribute('value', items[ it ] );
second.appendChild( opt );
}
Другата ви възможност е да изпратите данни "по кабел" и да ги накарате да работят чрез AJAX. Нямам място за урок, мисля, че мога спокойно да ви свържа с този .