0

I am rendering a drop down list with ngOptions. This is how the view looks like:

<select>
<option ng-repeat="gender in vm.genderArray" ng-model="vm.genderOfPerson" ng-change="vm.changingGender()"> {{gender.gender}} </option>
</select>

In the controller, this is what I am doing:

vm.genderArray = [{gender: "Please select one"},{gender: "Male"},{gender: "Female"},{gender: "Would rather not say"}]
function changingGender() {
  console.log("vm.user.gender")
}

Here's the problem statement no: I want to save the value of the changed gender in vm.user.gender .. but it is not getting saved in that.

Please look over the code and tell me what am I doing wrong?

Thanks

georgeawg
  • 48,608
  • 13
  • 72
  • 95
  • If you want it in vm.user.gender, then use `ng-model=vm.user.gender` and not `ng-model="vm.genderOfPerson"`. – JB Nizet Nov 28 '16 at 07:19

1 Answers1

1
 <select ng-options="p.gender  for p in vm.genderArray" 
            ng-model="vm.selectedPerson">
    </select>
    <p>You selected {{vm.selectedPerson.gender}}</p>

DEMO

Sajeetharan
  • 216,225
  • 63
  • 350
  • 396