Суть скрипта. При выборе определенного селекта, он должен оставаться на том же выборе даже после перезагрузки. но тут их аж два и работают они динамично
<script type="text/javascript"><!--
window.onload = function() {
 dynamicSelect("Country", "City");
}
//--></script><script type="text/javascript">
function dynamicSelect(id1, id2) {
// Сперва необходимо проверить поддержку W3C DOM в браузере
 if (document.getElementById && document.getElementsByTagName) {
// Определение переменных, ссылающихся на списки
 var sel1 = document.getElementById(id1);
 var sel2 = document.getElementById(id2);
// Клонирование динамического списка
 var clone = sel2.cloneNode(true);
// Определение переменных для клонированных элементов списка
 var clonedOptions = clone.getElementsByTagName("option");
// Вызов функции собирающей вызываемый список
 refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
// При изменении выбранного элемента в первом списке: // вызов функции пересобирающей вызываемый список
 sel1.onchange = function() {
 refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
 }
 }
}
// Функция для сборки динамического списка
function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) {
// Удаление всех элементов динамического списка
 while (sel2.options.length) {
 sel2.remove(0);
 }
 var pattern1 = /( |^)(select)( |$)/;
 var pattern2 = new RegExp("( |^)(" + sel1.options[sel1.selectedIndex].value + ")( |$)");
// Перебор клонированных элементов списка
 for (var i = 0; i < clonedOptions.length; i++) {
// Если название класса клонированного option эквивалентно "select" // либо эквивалентно значению option первого списка
 if (clonedOptions[i].className.match(pattern1) ||
 clonedOptions[i].className.match(pattern2)) {
// его нужно клонировать в динамически создаваемый список
 sel2.appendChild(clonedOptions[i].cloneNode(true));
 }
 }
}
// Вызов скрипта при загрузке страницы
window.onload = function() {
 dynamicSelect("Country", "City");
}</script>
<form action="#" method="post">
    <select name="Country">
        <option value="select">Выберите страну...</option>
        <option value="Russia">Россия</option>
        <option value="Ukraine">Украина</option>
        <option value="Belarus">Беларусь</option>
    </select>
    <select name="City" id="City">
        <option class="select" value="select">Выберите город...</option>
        <option class="Russia" value="Moscow">Москва</option>
        <option class="Russia" value="SPeterburg">Санкт-Петербург</option>
        <option class="Russia" value="Ekaterinburg">Екатеринбург</option>
        <option class="Ukraine" value="Kiev">Киев</option>
        <option class="Ukraine" value="Sevastopol">Севастополь</option>
        <option class="Belarus" value="Minsk">Минск</option>
        <option class="Belarus" value="Bobruisk">Бобруйск</option>
    </select>
<script> document.getElementById(" Country ").onchange = function() { localStorage.setItem('Country', document.getElementById(" Country ").value); }
if (localStorage.getItem('Country')) { document.getElementById(" Country ").options[localStorage.getItem('Country')].selected = true; } </script>