You would have to use javascript for that, here is an example:
HTML Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Untitled Page</title>
<script type="text/javascript"><!--
var usa = new Array("Alabama","Alaska","American Samoa","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","District Of Columbia","Federated States Of Micronesia","Florida","Georgia","Guam","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Marshall Islands","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Northern Mariana Islands","Ohio","Oklahoma","Oregon","Palau","Pennsylvania","Puerto Rico","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virgin Islands","Virginia","Washington","West Virginia","Wisconsin","Wyoming");
var countries = new Array(usa);
function getNext() {
countryListBox = document.FormName.countries;
if (countryListBox.value != "") {
statesListBox = document.FormName.states;
//clear states box
for (i in statesListBox.length) {
statesListBox.options[i] = null;
}
statesListBox.disabled = false;
stateList = countries[countryListBox.value];
statesListBox.options[0] = new Option("Choose a State...","");
for (s in stateList) {
statesListBox.options[parseInt(s)+1] = new Option(stateList[s],stateList[s]);
}
}
}
//-->
</script>
</head>
<body bgcolor="#ffffff">
<form id="FormName" action="yourscript.php" method="get" name="FormName">
<select name="countries" size="1" onchange="getNext(this)">
<option value="">Choose A State</option>
<option value="0">United States</option>
</select>
<select name="states" size="1" disabled onchange="alert(this.value);">
<option value="">Choose A State</option>
<option value="0">United States</option>
</select>
</form>
<p></p>
</body>
</html>
Create an array for each country's states, naming the the array the name of the country:
Code:
var usa = new Array("Alabama","Alaska","American Samoa","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","District Of Columbia");
var uk = new Array("Manchester","London","South Newington");
(I don't know UK provinces offhand

)
Then in the countries array, put each country array in the order of the drop down:
Code:
var countries = new Array(usa,uk,canada);
and number your select values the same ordinal as they are in the countries array.
There might be a better way to do it, this is the one that came quickest off the top of my head.