2017-08-07 39 views
1

md-autocomplete在ng-repeat中生成相同的模型 如果一个值的变化也反映在其他字段中, 如何向其中添加不同的ng模型?md-autocomplete在ng-repeat中生成相同的模型

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