2016-10-05 123 views
1

我有以下代碼:AngularJS:與NG-重複一起調NG-模型工作

<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> 

對不起,轉儲的問題。這很簡單,我希望我的表根據選定的日期顯示數據。請幫我弄清楚。

回答

4

ng-model應該在那裏select不在option標記。由於ng-model只能在inputtextarea,select開箱即用。

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"將使在你選擇雙向綁定,&選擇的值將可裏面 selectedInfo $範圍變量。


的最優選的方式通過使用ng-options

<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選項的情況下,你可以做{{selectedInfo.Name}}

+0

此外,你應該儘可能地使用選擇框時使用'ng-options'而不是'ng-repeat'。 – Claies

+0

@Claies我想補充一點,在我的回答中,感謝兄弟,歡呼聲:-) –