2017-04-17 8 views
1

Ich bekomme einen Fehler bei der automatischen Vervollständigung.Wie löst man den Fehler bei der automatischen Vervollständigung?

Js:

angular.module('MyModule', []) 
.controller('myCtrl', function ($scope) { 
    $scope.names = ["john", "bill", "charlie", "robert", "alban", "oscar", 
    "marie", "celine", "brad", "drew", "rebecca", "michel", "francis", "jean", 
    "paul", "pierre", "nicolas", "alfred", "gerard", "louis", "albert", 
    "edouard", "benoit", "guillaume", "nicolas", "joseph"]; 
    }) 
.directive('autoComplete', function ($timeout) { 
    return function (scope, iElement, iAttrs) { 
    iElement.autocomplete({ 
     source: scope[iAttrs.uiItems], 
     select: function() { 
      $timeout(function() { 
       iElement.trigger('input'); 
      }, 0); 
     } 
    }); 
}; 
}); 

Html:

<div ng-app='MyModule'> 
    <div ng-controller='myCtrl'> 
     <input auto-complete ui-items="names" ng-model="selected"> 
     selected = {{selected}} 
    </div> 
</div> 

ich die Störung erhalte in folgenden Screenshot gezeigt: enter image description here

Jede Hilfe würde geschätzt.

+0

Versuchen $ (IElement) .autocomplete (...) –

+0

Versuchen wie unten Rückkehr zu aktualisieren Sie Ihre return-Anweisung hilft { einschränken: 'A', erforderlich sein: 'ngModel', Link: function (Umfang, IElement, iAttrs) { iElement.autocomplete ({ Quelle: Namen, wählen: function() { $ timeout (function() { iElement.trigger ("Eingabe"); }, 0); } }); } – CrazyMac

+0

iElement hat keine Autocomplete-Funktion. Vielleicht kannst du es mit $ (jquery) umhüllen –

Antwort

0

Hier ist das Arbeitsbeispiel, das Sie können

<div ng-app='MyModule'> 
    <div ng-controller='DefaultCtrl'> 
     <input complete ng-model="selected"> 
     selected = {{selected}} 
    </div> 
    </div> 

    angular.module('MyModule', []).directive('complete', function($timeout) { 
    var names = ["john", "James", "Raj"]; 

    return function(scope, iElement, iAttrs) { 
      iElement.autocomplete({ 
       source: names, 
       select: function() { 
        $timeout(function() { 
         iElement.trigger('input'); 
        }, 0); 
       } 
      }); 
    }; 
}); 
Verwandte Themen