JSFiddle - React, Tailwind, and code Playground
HTML
<form name="selectionForm">
<select name="states" id="states" size="3" style="width: 150px">
<option selected>Select a State >></option>
</select>
<select name="cities" id="cities" size="3" style="width: 150px"></select>
</form>
JavaScript
jQuery(function($) {
initCities();
function initCities() {
var statesAndCities = {
'Oregon': ['Eugene', 'Portland', 'Salem'],
'Washington': ['Bellingham', 'Onalaska', 'Seattle']
};
//populate states
$.each(statesAndCities,function(k,v){$('#states').append('<option>' + k + '</option>');});
//populate cities
$('#states').change(function(){
var $cities = $('#cities');
$cities.html("");
var cities = statesAndCities[$(this).val()];
$.each(cities,function(k,v){$cities.append('<option>' + v + '</option>');});
});
}
});