AngularJS:将ng-model与ng-repeat一起调整

时间:2016-10-05 15:45:14

标签: javascript angularjs ng-options angularjs-ng-options

我有以下代码:

<h3>Дата наведвання:</h3>
<select class="form-control" size=info.size()>
    <option ng-model="i.isSelected" ng-repeat="i in info" value="{{i.date}}">{{i.date}}</option>
</select>
<div class="container">
    <table class="table">
        <tr>
            <td ng-repeat="i in info"><p ng-if="i.isSelected">Name: {{i.name}}</p></td>
        </tr>
    </table>
</div>

抱歉转储问题。这很简单,我希望我的表根据所选日期显示数据。请帮我弄清楚。

1 个答案:

答案 0 :(得分:4)

ng-model应该在select上,而不在option标记上。由于ng-model仅对inputtextareaselect开箱即用。

<击>的 Markrup

<击>
<h3>Дата наведвання:</h3>
<select class="form-control" size="info.size()" ng-model="selectedInfo">
    <option ng-repeat="i in info" value="{{i.date}}">{{i.date}}</option>
</select>

ng-model="selectedInfo"将在您的选择中启用双向绑定,&amp;选定的值将在selectedInfo $范围变量中可用。

使用ng-options

处理select with option的首选方法
<h3>Дата наведвання:</h3>
<select class="form-control" size="info.size()" 
   ng-model="selectedInfo"
   ng-options="i as i.date for i in info">
</select>

要显示所选的日期,您可以使用selectedInfo变量,您不需要遍历info集合的每个元素。你可以直接做{{(info | filter: {date: selectedInfo: true })[0].Name}}(我不喜欢这种做法)。

由于你非常有兴趣在ng-model中使用整个元素,ng-options可以轻松实现(正如我之前所说的那样)。在ng-options案例中,您可以执行{{selectedInfo.Name}}