我正在创建一个博客软件,我创建了一个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。
答案 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>