That’s what I thought too.
I looked at the template files and the coding seems to be correct. Anything I missed?
Here’s the coding from woocommerce/woocomerce-tempalte.php line 1102-1124 (country – beginning of state)
case "country" :
$field = '<p class="form-row ' . implode( ' ', $args['class'] ) .'" id="' . $key . '_field">
<label for="' . $key . '" class="' . implode( ' ', $args['label_class'] ) .'">' . $args['label']. $required . '</label>
<select name="' . $key . '" id="' . $key . '" class="country_to_state ' . implode( ' ', $args['class'] ) .'">
<option value="">'.__( 'Select a country…', 'woocommerce' ) .'</option>';
foreach ( $woocommerce->countries->get_allowed_countries() as $ckey => $cvalue ) {
$field .= '<option value="' . $ckey . '" '.selected( $value, $ckey, false ) .'>'.__( $cvalue, 'woocommerce' ) .'</option>';
}
$field .= '</select>';
$field .= '<noscript><input type="submit" name="woocommerce_checkout_update_totals" value="' . __('Update country', 'woocommerce') . '" /></noscript>';
$field .= '</p>' . $after;
break;
case "state" :