I have an object as below. I have to display this as a drop-down:
var list = [{id:4,name:\"abc\"},{id:600,name:\"def\"},{id:200,name:\"xyz\"}]
Problem 1:
The generated HTML you're getting is normal. Apparently it's a feature of Angular to be able to use any kind of object as value for a select. Angular does the mapping between the HTML option-value and the value in the ng-model. Also see Umur's comment in this question: How do I set the value property in AngularJS' ng-options?
Problem 2:
Make sure you're using the following ng-options:
And put this in your controller to select a default value:
object.item = 4