ng-options "Selected" does not work

Asked

Viewed 898 times

2

I am using the ng-options function and it is listing correctly, only it is not showing the value marked as default: selected

Code:

<select class="form-control" 
   ng-model="genericCustomersViewModel.customer.addresses[0].stateId"
   ng-options="state.id as state.initials for state in 
   genericCustomersViewModel.allStates track by state.id" 
   ng-change="genericCustomersViewModel.getCityByState(0)" 
   ng-selected="genericCustomersViewModel.customer.addresses[0].stateId">
</select>

Allstates

[{  "id":1,
    "description":"ACRE",
    "initials":"AC",
    "specificCountryCode":12,
    "countryId":30 },
{   "id":2,
    "description":"ALAGOAS",
    "initials":"AL",
    "specificCountryCode":27,
    "countryId":30 },
{   "id":3,
    "description":"AMAPÁ",
    "initials":"AP",
    "specificCountryCode":16,
    "countryId":30}]

Customer

{  "rg":null,
   "inscricaoMunicipal":null,
   "inscricaoEstadual":null,
   "cpfCnpj":"13",
   "inscricaoEstadualIndicator":null,
   "phoneNumber2":null,
   "phoneNumber3":null,
   "emailNfe":null,
   "emailBoleto":null,
   "branchesIds":[],
   "id":12,
   "name":"Razão social",
   "companyName":null,
   "mainPhoneNumber":null,
   "mainEmail":null,
   "site":null,
   "entityType":1,
   "isActive":true,
   "isDeleted":false,
   "contacts":[],
   "addresses":[  
      {  "id":1,
         "description":null,
         "addressType":0,
         "postalCode":93700,
         "address1":"Balduino Dreger",
         "address2":"Não tem",
         "number":345,
         "district":"Bela Vista",
         "cityId":null,
         "stateId":20,
         "countryId":null,
         "entityId":12
      },
      {  "id":2,
         "description":"Comercial",
         "addressType":0,
         "postalCode":93700,
         "address1":"Rua dos bobos",
         "address2":"Num tem",
         "number":666,
         "district":"Centro",
         "cityId":4057,
         "stateId":19,
         "countryId":null,
         "entityId":12
      }
   ]
}

1 answer

1

I was able to solve this problem by passing the whole object instead of passing only the state ID ( stateId ). In ng-model you need to pass all the selected object, for example:

{   "id":2,
    "description":"ALAGOAS",
    "initials":"AL",
    "specificCountryCode":27,
    "countryId":30 
}  

Instead of passing only the value 2.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.