Q:

observable() does not update selects selected item as expected

The Html:
<select id="Catagories_CategoryId" data-bind="options: CategoryServiceTypes, 
    optionsText: 'Name',                        
    optionsCaption: 'Please select a Category...',                                        
    value: SelectedCategoryType">
</select>

In the code sample below I've just deleted an item in a grid, so I repopulate the grid via LoadServiceTypesFromSvc()
obj.SelectedCategoryTypeHolder(obj.SelectedCategoryType()); //copy the old selected object
pager.LoadServiceTypesFromSvc(); //repop
ko.utils.arrayForEach(obj.CategoryServiceTypes(), function(data) {                                                        
    if (data.CategoryId() == obj.SelectedCategoryTypeHolder().CategoryId()) {
        obj.SelectedCategoryType(data);
        alert('selected ' + obj.SelectedCategoryType().Name()); //shows the name of the item I'm aiming for
    }
});

LoadServiceTypesFromSvc() also repopulated the select. I want to set the selects selected value to what it was before the data refresh.
Even though the alert confirms that obj.SelectedCategoryType() has been set to what I want it set to - the select itself remains unchanged and still shows the default 'Please Select...' first item.
What am I missing?
Many thanks

A:

Run ko.utils.arrayForEach(...) block against every item returned by LoadServiceTypesFromSvc() in the .done function

