Я проработал ситуацию, похожую на эту ... Моим решением было сохранить Штаты и города в моей базе данных. Потяните эти значения, когда я загружаю страницу изначально. Я создаю список значений кода для выпадающего списка, соединяя StateCode с "-" и CityName. Отображаемым значением является просто CityName. Когда окно загружается, я сохраняю HTML из выпадающего списка, используя jquery. Это позволяет мне сбросить список. Затем я сначала фильтрую список, удаляя элементы из выпадающего списка, которые не соответствуют моему первоначально выбранному StateCode, используя что-то вроде
$("#AsCity option:not(:contains('[" + checkVal + "]'))").remove();
Затем каждый раз, когда меняется раскрывающийся список «Состояние», я сбрасываю раскрывающийся список «CityName» (используя мой сохраненный html) и повторно фильтрую список «CityName», удаляя те, которые не соответствуют моему выбранному состоянию.