ng-options sected属性不起作用

时间:2016-01-04 19:14:53

标签: angularjs

我有以下代码。

<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的对象,我想编辑它,它有很多属性GCPESL

GCPESL在一个对象tableColumns

中是某种类似下面的数组
{{TableName:"GC", ColumnName="IdeaName" ..............}

{TableName:"PE", ColumnName="PresenterId" ............}

{TableName:"SL", ColumnName="VenueId" ..............}}

虽然编辑我需要一个带有选择对象的组合框我可以让选项有点但选择的选项没有被选中。

2 个答案:

答案 0 :(得分:0)

select directive上没有ng-selected属性。

要选择其中一个选项,您在选择中不需要任何其他属性。您需要做的就是确保ng-model表达式引用您要选择的选项。例如,在您的控制器中:

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

ngModel创建双向绑定:

  • 您选择了一个选项,$ scope.selectedAttribute.GC设置为所选项目
  • 您将$ scope.selectedAttribute.GC的值设置为其中一个选项,该选项将成为选定的选项

答案 1 :(得分: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的所有建议。