Question: I can't seem to make my multiple dropdowns to work.

```
<div ng-repeat="i in [0,1,2,3,4] track by $index">
    <select ng-model="myArray[i]" ng-options="someList"></select>
</div>

```

In the html the result is ... ng-model="myArray[i] instead of ng-model="myArray[0] etc.

I have tried curly brackets but it doesn't work. closest thing was ng-model="myArray['{{ i }}'] but that' not really what I want.

Edit: Here is a fiddle to illustrate. 

<http://jsfiddle.net/dpkzzyug/1/>

You need to examine the HTML to see that the result literally writes out i (or $index in this case) instead of the value.

Answer: 
The code that you have works, but the problem is that `myArray` is local to the `ng-repeat` scope. You need to make sure that `myArray` exists outside of this scope.

Something like the following will work:

```
<div ng-app ng-init="someList=[1,2,3]; myArray = []">
    <div ng-repeat="i in [0,1,2,3,4] track by $index">
        <select ng-model="myArray[i]" ng-options="i for i in someList"></select>

```

<http://jsfiddle.net/778x0pm0/1/>

I would personally prefer to use the `controller as` syntax since this makes this a little clearer:

```
<div ng-app=app ng-init="someList=[1,2,3]">
    <div ng-controller="ctrl as ctrl">
        <div ng-repeat="i in [0,1,2,3,4] track by $index">
            <select ng-model="ctrl.myArray[i]" ng-options="i for i in someList"></select>

```

<http://jsfiddle.net/778x0pm0/>
I just realized that the html will write out i / $index even though the logics of angular still work. I was having problems elsewhere and thought it was because of this.