Юзаем поиск и удивляемся сколько там всего готового:
https://yandex.ru/search/?text=depends%20dropdown&...
Если коротко, слушаем событие смены одного селекта, при смене берем его название, вытягивает из json нужные города, перебираем добавляя options к второму селекту, предварительно грохнув старые.