php - ngModel, set a whole object and not only its value from ngOptios -


i just, can't figure out how set ng-model contain value of select, , not object self.

html

<select name="status"         data-ng-model="search.status"         data-ng-options="s.label s in statuses"> </select>  $scope.statuses = [     { label: ' - si/no - ', value: '' },     { label: ' migrated ', value: 0 },     { label: ' active ', value: 1 },     { label: ' canceled ', value: 2 },     { label: ' un-confirmed ', value: 3 }, ];  $scope.search.status = $scope.statuses[0]; 

and result be:

stdclass object (     [label] =>  - si/no -      [value] =>  ) 

now, want [value], , not whole object. how can achieve that?

p.s. don't want have access object->value, want x variable, contain value.

update

i had before, , working:

<select name="status" class="txt" data-ng-model="search.status">     <option value=""> - - </option>     <option value="0"> migrated </option>     <option value="1"> active </option>     <option value="2"> canceled </option>     <option value="3"> un-confirmed </option> </select> 

my search.status contain selected value, , not whole object code above.

you need change markup. as keyword in ng-options expression makes magic.

the expression below sets object property s.value model s.label still remains label <option> element (i think want).

<select name="status"         ng-model="search.status"         ng-options="s.value s.label s in statuses"> </select> 

and of course, model value initialization in controller has modified (as @orangepill noted):

$scope.search.status = $scope.statuses[0].value; 

Comments