// updating the subType value in the controller
$scope.newEngagement.subType = 3;
// creating a list of engagement subTypes
$scope.engagementSubTypeList = [
{ "subTypeId": 1, "subTypeName": "value1" },
{ "subTypeId": 2, "subTypeName": "value2" },
{ "subTypeId": 3, "subTypeName": "value3" },
{ "subTypeId": 4, "subTypeName": "value4" },
];
<div class="col s12 m12 margin-top-2x" ng-show="isSubType">
<label class="uppercase blue-grey-text text-darken-5 font-1-5x clear left">SELECT SUB TYPE </label>
<select
name="engagement_subtype"
id="engagement_subtype"
ng-model="newEngagement.subType"
class="browser-default margin-top-x col s12 m8 clear">
<option value="{{subTypeList.subTypeId}}"
selected="subTypeList.subTypeId == newEngagement.subType"
ng-repeat="subTypeList in engagementSubTypeList track by subTypeList.subTypeId ">
{{subTypeList.subTypeName}}
</option>
</select>
</div>
Although the code specifies that "value3" should be selected, it doesn't work as expected due to the materialize select box browser default class being used.