One issue I'm facing in my application is with grouped select elements that share the same options. Whenever one select element changes, it checks the others to see if the new option selected has already been chosen in any of the other selects. In such cases, there is a dynamic logic in place to choose an option that hasn't yet been selected in the other selects. Unfortunately, this sometimes results in the same option being selected again, causing the select element to fall out of sync with the model.
To demonstrate this problem, I've created a simple jsFiddle which can be accessed here: http://jsfiddle.net/wvLHw/
I have included a potential workaround in the code, but I'm unsure how feasible it would be to implement in my actual application. Is there a more effective solution to address this issue and ensure proper functionality? Why is Angular not updating the select element based on my model as expected?