2017-08-07 1 views
1

md-autocomplete générant le même modèle en ng-repeat si la valeur d'un des changements change également dans les autres champs, Comment puis-je ajouter un modèle ng différent?md-autocomplete générant le même modèle en 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> 

Le modèle généré venir quelque chose comme ça pour toutes les lignes:

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

ce 'ctrl.academySearchStr' ressemble à tous les éléments répétés dans 'md-search-text'. est-ce? – Rakeschand

+0

Est-ce vraiment important, de toute façon nous pouvons voir la sortie dans la variable que vous avez liée dans 'md-selected-item =" school.college_name "' donc dans le javascript, nous pouvons voir que la valeur sélectionnée sera présente dans '$ scope.school.college_name' –

Répondre

1

Compte tenu de votre schools sous forme de tableau.

vous pouvez mapper dessus ajouter une variable pour la recherche de texte au lieu d'utiliser un même texte de recherche partout, comme ce

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

Et passer ce texte de recherche ici

md-search-text="school.searchText"