0

У меня есть динамически сгенерированная таблица html, которая добавляет строки на основе отображаемой записи. Я добавляю столбец, который будет содержать раскрывающийся список. Я использовал ng-options, но каждый раз, когда я меняю одну запись, остальные также обновляются. Попробовал изменить его на ng-repeat и получить тот же результат. Смотрите код ниже:Выпадающее значение реплицируется в опциях nog Угловое

 <td>  

     <select class="form-control" ng-model="$ctrl.selectedRC" ng- options="r.ccd as (r.OName + ' -- '+ r.RCName) for r in $ctrl.RC track by r.ccd"> </select> 
<!--if I have 5 records, all dropdowns in the table change --> 
    </td> 

Использования нг-повтор:

<select class="form-control" ng-model="$ctrl.selectedRC" <option value="" ng-selected="true">--Select one--</option> 
         <option ng-repeat="r in $ctrl.RC" 
         value="{{r.OName}}" 
         ng-selected="{{r.OName === selectedRC}}">{{r.RCName}} 
         </option> 

         </select> 

Я знаю, что эти два показывает две разных вещи (один каскадный набор значений, другие Выступают один). Но мой главный интерес - выяснить, как иметь каждый выпадающий список <td>, не затрагивая остальные строки.

ответ

1

Просто потому, что вы используете одну и ту же ng-модель для всех строк.

Для каждой строки необходимо определить другую.

Вы можете сделать это:

ng-model="$ctrl.selectedRC"

но вам нужно что-то вроде этого:

ng-model="$ctrl.selectedRC[$index]"

где $ индекс Ваша ссылка на строку.

+0

См. Например, этот jsbin, который я создал: http://jsbin.com/pasixujica/edit?html,js,output – eliagentili

+0

Спасибо! Однако теперь я не могу отображать свой выбор, поскольку он исчезает :( – eagleEye

+0

Можете ли вы вставить свой код? – eliagentili