在Angularjs下拉列表中显示所选选项以及其他选项

时间:2016-06-30 11:13:09

标签: javascript angularjs

我正在创建一个博客软件,我创建了一个Angularjs下拉列表,如下所示选择帖子的条款

   <select multiple="multiple" name="terms" ng-model="post.data.attributes.term_ids" required>
             <option value="" disabled="" selected="">Tags</option>

             <option ng-repeat="term in terms | filter: { taxonomy: 'tag' } " value="{{term.id}}">{{term.name}}</option>
     </select>

这在我创建帖子时效果很好,但是当我编辑帖子时,我还要显示创建帖子时选择的术语。

即如果post.data.attributes.term_ids中的“term.id”,则必须在下拉列表中选择该术语。我一直在阅读文档和其他示例,但我不知道如何做到这一点,任何帮助将是apreciated。

1 个答案:

答案 0 :(得分:0)

只需使用ngSelected属性:

<select multiple="multiple" name="terms" ng-model="post.data.attributes.term_ids" required>
             <option value="" disabled="" selected="">Tags</option>

             <option ng-repeat="term in terms | filter: { taxonomy: 'tag' } " value="{{term.id}}" ng-selected="post.data.attributes.term_ids.indexOf(term.id) > -1">{{term.name}}</option>
     </select>

或更好的方法..您可以使用ngOptions。类似的东西:

<select multiple="multiple" name="terms" ng-model="post.data.attributes.term_ids" required ng-options="term.name for term.id in terms | filter: { taxonomy: 'tag' } ">
</select>