2017-08-07 6 views
1

ng-repeatで同じモデルを生成するmd-autocomplete 変更の値が他のフィールドにも反映されている場合は どうすれば別のモデルを追加できますか?ng-repeatで同じモデルを生成するmd-autocomplete

<tr ng-repeat="school in ctrl.schools" ng-if="ctrl.editAcademyToggle"> 
<td> 
<md-input-container> 
<div class="mdInputContainer"> 
    <md-autocomplete flex required flex-gt-sm="25" 
     md-autofocus="true" 
     md-selected-item="school.college_name" 
     md-clear-button="false" 
     md-input-name="school.college" 
     md-input-minlength="3" 
     md-no-cache="false" 
     md-search-text="ctrl.academySearchStr" 
     md-items="item in ctrl.searchAcademySchools(ctrl.academySearchStr)"  
     md-item-text="item.name"> 
     <md-item-template> 
      <span class="item-title"> 
       <span> {{item.name}}, {{item.city}}, {{item.state}}, {{item.zip}}</span> 
      </span> 
     </md-item-template> 
     <md-not-found> 
      <span ng-if="ctrl.academySearchStr.length < 3">Minimum 3 Charaters</span> 
      <span ng-if="ctrl.academySearchStr.length >= 3"> 
       Wait a few more seconds before searching again" 
      </span> 
     </md-not-found> 
     <div ng-messages="ctrl.leadEntryForm.school.college.$error"> 
      <div ng-message="required">This field is required</div> 
     </div> 
    </md-autocomplete> 
</div> 
</md-input-container> 
</td> 
</tr> 

生成されたモデルは、すべての行に対して、このような何かを来る:

ng-model="$mdAutocompleteCtrl.scope.searchText" 
+0

この 'ctrl.academySearchStr'を渡すことができます'md-search-text'の中のすべての繰り返し項目について同じように見えます。それは...ですか ? – Rakeschand

+0

これは本当に重要ですが、とにかく 'md-selected-item =" school.college_name "'にバインドした変数の出力を見ることができます。そのため、javascriptでは、選択した値が '$ scope.school.college_name' –

答えて

1

は配列としてあなたのschoolsを考えます。

あなたはこの

schools.map(function(obj){ 
    obj.searchText = null; 
}); 

のように、代わりにどこでも同じ検索テキストを使用しての検索テキストのための変数を追加し、その上にマッピングし、この検索テキストここ

md-search-text="school.searchText" 
関連する問題