атрибут ng-options sected не работает

0

У меня есть следующий код.

<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 на объекте, я могу получить бит опций, но выбранный параметр не будет выбран.

Теги:

2 ответа

0
Лучший ответ

Следующее решение моей проблемы с 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 для всех предложений.

0

В директиве select нет атрибута ng-selected.

Чтобы выбрать один из выбранных параметров, вам не нужен дополнительный атрибут для выбора. Все, что вам нужно сделать, это убедиться, что выражение модели ng ссылается на параметр, который вы хотите выбрать. Например, в вашем контроллере:

$scope.selectedAttribute.GC = $scope.tableColumns[0];  

ngModel создает двухстороннюю привязку:

  • вы выбираете опцию, а $ scope.selectedAttribute.GC устанавливается на выбранный элемент
  • вы устанавливаете значение $ scope.selectedAttribute.GC для одного из параметров, и этот параметр становится выбранным
  • 0
    selectedAttribute.GC в текстовой области имеет значение в нем. но все еще не выбирая.
  • 0
    NgModel для select ссылается на элемент из $ scope.tableColumns. Этот элемент является объектом, а не строкой. Модель текстовой области представляет собой строку. Таким образом, модель текстовой области не может быть ни одним из элементов $ scope.tableColumns.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню