2013-07-18 11 views
5

Korzystanie wpisywanie znaków z wyprzedzeniem, Próbuję ustawić kilka opcji, które są dostępne w standardzie Bootstrap typeahead optionsopcje ustawień wpisywanie znaków z wyprzedzeniem, za pomocą skośnych ui Bootstrap

stosując następujący kod, jestem w stanie ustawić " Właściwość minLength "poprzez umieszczenie jej w linii jako" typeahead-min-length ", ale robi to samo z" items "jako" typeahead-items ". Czy istnieje inny/lepszy/standardowy sposób na zrobienie tego? Czy istnieje sposób na dołączenie tablicy opcji do zakresu $ scope?

<div class='container-fluid' ng-controller="TestController"> 

<input type="text" ng-model="selected" 
typeahead="foo for foo in foo | filter:$viewValue" typeahead-items='5' typeahead-min-length='3'> 

<pre>{{selected| json}}</pre> </div> 

Aktualizacja: Staram się trzymać tylko angularjs, a nie używać jQuery

To jest mój kontroler:

myAppModule.controller('TestController', function($http,$scope) { 
    $scope.selected = undefined; 

    $http.get('data/sample.json') 
     .then(function(results){ 
      $scope.foo = results.data; 
     }); 
    }); 

Odpowiedz

7

Dlaczego nie używacie drogę JS zainicjować wpisywanie znaków z wyprzedzeniem:

$('input.typeahead').typeahead({ 
    source: array_of_value_here, 
    minLength: 1, 
    items: 5, 
    // your option values ... 
}); 

EDIT:

widzę, z angularjs sposób można użyć limitTo:

<input type="text" ng-model="selected" typeahead="foo for foo in foo | filter:$viewValue | limitTo:5" typeahead-min-length='3'> 
+0

stara się trzymać z angularjs – ktm

+1

proszę sprawdzić moje edytowane odpowiedź wtedy. –

+0

To idealne Hieu, dzięki. Czy mogę poprosić adres URL o dokument, z którego to wyszło? Działa jak urok, dzięki. – ktm

Powiązane problemy