JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Dynamic DropDowns with US States & Counties</TITLE>
<!-- JQuery JS -->
<script src="http://code.jquery.com/jquery-latest.pack.js"></script>
<!-- Drop Down JS -->
<script type="text/javascript" src="js/drop_down.js"></script>
<!-- Preload Images -->
<SCRIPT language="JavaScript">
<!--
pic1 = new Image(16, 16);
pic1.src="style/loader.gif";
//-->
</SCRIPT>
<STYLE TYPE="text/css">
<!--
#county_drop_down, #no_county_drop_down, #loading_county_drop_down
{
display: none;
}
-->
</STYLE>
</HEAD>
<BODY>
<form>
<table width="317" border="0" align="center">
<tr>
<td width="100">Country</td>
<td width="217"><select id="state" name="state">
<option value='US'>United States</option>
<option value='UK'>United Kingdom</option>
<option value='SWE'>Sweden</option>
<option value='AUS'>Australia</option>
</select></td>
</tr>
<tr>
<td height="33">City / Town</td>
<td>
<div id="county_drop_down"><select id="county" name="county"><option value="">County...</option></select></div>
<span id="loading_county_drop_down"><img src="style/loader.gif" width="16" height="16" align="absmiddle"> Loading...</span>
<div id="no_county_drop_down">This state has no counties.</div></td>
</tr>
</table>
</form>
<button type="submit" id="submit" class="ajaxtrigger">Submit</button>
</BODY>
</HTML>
JavaScript
$(document).ready(function(){
$('.ajaxtrigger').click(function(){
var country = $('#state :selected').text();
country = encodeURI(country);
// var place = $('#county :selected').text();
var place = $('#county').val();
var unSelectedPlace = /^Select/.test(place);
place = encodeURI(place);
if (!unSelectedPlace)
{
$.getJSON("http://query.yahooapis.com/v1/public/yql?"+
"q=select%20woeid%20from%20geo.places%20where%20text%20%3D%20%22"+
country +"%20" + place + "%22&format=json&jsoncallback=json",
function(data){
if(data.query.results){
if(data.query.results.place.woeid) {
console.log("woeid #1: " + data.query.results.place.woeid);
} else {
$.each(data.query.results.place, function(i, v) {
console.log("woeid #" + i + ": " + v["woeid"]);
});
}
}
});
}
});
});