I'm having the same problem. I need to create a select box which will query the backend only when the user clicks on it (I'm currently using an ng-focus directive for that), and should display "Loading..." until the AJAX request succeeds. Importantly, I don't want the XHR request (I'm actually using Restangular) to occur until/unless the user clicks on the select box, as in some instances, the request may depend upon other form elements.
Tim's suggestion seems to require that the XHR request occur when the form is rendered, and precludes the "Loading..." dropdown, and doesn't seem to work in Chrome anyway.
The problem here is that, in Chrome at least, when the backend request succeeds and the select options are filled in, the dropdown list will only show the first option (or, to be technically correct, the same number of options as in the initial list). I know this is possible to achieve in Chrome (I'm porting an app from Ext JS, where select boxes tied to an AJAX backend work fine).
I may investigate select2, but this seems like such a common task that I can't help but think I'm doing something wrong.