Source JSON data is:
[
{\"name\":\"Alabama\",\"code\":\"AL\"},
{\"name\":\"Alaska\",\"code\":\"AK\"},
{\"name\":\"American Samoa\",\"code\":\"AS\"},
What you first tried should work, but the HTML is not what we would expect. I added an option to handle the initial "no item selected" case:
selected: {{region}}
The above generates this HTML:
Fiddle
Even though Angular uses numeric integers for the value, the model (i.e., $scope.region) will be set to AL, AK, or AS, as desired. (The numeric value is used by Angular to lookup the correct array entry when an option is selected from the list.)
This may be confusing when first learning how Angular implements its "select" directive.