I have a data like this which i compile to select options and inside it selected value defined as defaultValue: 1
content: [
{
value: "Bireysel",
key: "1",
defaultValue: 0
},
{
value: "Kurumsal",
key: "2",
defaultValue: 1
},
{
value: "Bireysel & Kurumsal",
key: "3",
defaultValue: 0
}
]
I can convert this to select opitons and send user's selected value to server.
<select ng-model="model.customer" ng-options="item.key as item.value for item in model.properties['CUSTOMER']" name="customer" required>
</select>
But when i try to define selected value i can not send to server. I've tried
track by
but it selects all option fields and i can not send selected field to server.
<select ng-model="model.customer" ng-options="item.key as item.value for item in model.properties['CUSTOMER'] track by defaultValue" name="customer" required>
</select>
I've also tried ng-repeat
not ng-options
. This method seems dirty, it selects default value true but i can not send true data to server if user isn't changed any option. This occurs because of ng-selected
is not assigns default value to my model: model.customer
<select ng-model="model.customer" name="customer" required>
<option ng-repeat="item in model.properties['CUSTOMER']" value="{{item.key}}" ng-selected="item.defaultValue">{{item.value}}</option>
</select>
How can i manage to define default value using ng-options
and assign this to my model for sending true data to server ?
The default value of your model can be set with ng-init, like this :
<select ng-model="customer" ng-init="customer = content[0].key" ng-options="item.key as item.value for item in content" name="customer" required>
JSFiddle here