У меня есть следующий код.
<div class="form-group">
<label class="col-lg-4 control-label" for="gcAttribute">GC</label>
<div class="col-lg-8">
<select class="form-control" id="gcAttribute" ng-selected="selectedAttribute.GC" ng-model="selectedAttribute.GC" ng-options="item as item.ColumnName for item in tableColumns | filter:{TableName:'GC'}"></select>
<textarea>{{selectedAttribute.GC|json}}</textarea>
</div>
</div>
Мои параметры заполнены, но не выбор. Я считаю, что делаю кое-что, что не так-то просто понять.
У меня есть объект под названием selectedAttribute
который я хочу редактировать, он имеет множество свойств GC
, PE
, SL
GC
, PE
и SL
- это своего рода массив, как tableColumns
ниже в одной tableColumns
объектов. tableColumns
{{TableName:"GC", ColumnName="IdeaName" ..............}
{TableName:"PE", ColumnName="PresenterId" ............}
{TableName:"SL", ColumnName="VenueId" ..............}}
в то время как редактирование мне нужен combobox с опцией seleted на объекте, я могу получить бит опций, но выбранный параметр не будет выбран.
Следующее решение моей проблемы с ng-options
<div class="form-group">
<label class="col-lg-4 control-label" for="gcAttribute">GC</label>
<div class="col-lg-8">
<select class="form-control" id="gcAttribute" ng-selected="selectedAttribute.GC" ng-model="selectedAttribute.GC" ng-options="item.ColumnName as item.ColumnName for item in tableColumns | filter:{TableName:'GC'}"></select>
<textarea>{{selectedAttribute.GC|json}}</textarea>
</div>
</div>
ключевая строка была
item.ColumnName as item.ColumnName
и также я мог видеть результат таким образом.
<option value="string:IdeaName" label="IdeaName">IdeaName</option>
<option value="string:IdeaSector" label="IdeaSector">IdeaSector</option>
надеюсь, поможет кому-то
и выбор также работает, благодаря JB для всех предложений.
В директиве select нет атрибута ng-selected
.
Чтобы выбрать один из выбранных параметров, вам не нужен дополнительный атрибут для выбора. Все, что вам нужно сделать, это убедиться, что выражение модели ng ссылается на параметр, который вы хотите выбрать. Например, в вашем контроллере:
$scope.selectedAttribute.GC = $scope.tableColumns[0];
ngModel создает двухстороннюю привязку: