A Plunker with the repro steps and showing the issue in action is here: Ibe Umd Zf J95l A5ssb E?
p=preview The problem is that because we have removed the first "unknown" holding element, the select element does not fire the "change" event when you move down one more, since I guess, internally the selected index has not changed: The problem is that because we have removed the first "unknown" holding element, the select element does not fire the "change" event when you move down one more, since I guess, internally the selected index has not changed: @chalisegrogan Wow, thanks for the quick reply, Chalise.
This will ensure that the values in all binding targets have been pushed back to the binding sources.
If the application in question has multiple Windows that should all have their binding sources updated, one more extension method may be useful:publicstaticvoid Update Binding Sources(this Application application)Optionally, this extension method could be called before submitting the data: Application. Update Binding Sources(); It probably seems like this could be incredibly slow, but in practice, I've found that this causes no noticeable delay in a medium sized application with a significant number of bindings.
Since logical focus was not lost, the binding source was not updated, and so the seemingly changed data was not submitted back to the data source.
Lost Focus by carefully examining the WPF Focus Manager to determine the actual set of elements that currently have logical focus and only updating binding sources on those elements.This only seems to happen on the second arrow key press after tabbing into the select list.The model is first updated on the initial selection but not on the second.It's also worth noting that this generic solution can be incorrect in certain binding scenarios.For example, an application might be using Bindings with the Update Source Trigger set to Explicit and use some special criteria to decide when to commit the binding changes.So I am actually trying to use ng-options in my select list, specifically, "as opt.label for opt in data.values Enum". I did not realize you could use both ng-options and tags. This seems like a fairly significant bug in the select directive to me, but your initial post is over 6 months old.