2013-12-10 4 views
0

Я следующий код, написанный в AngularJS (простой HTML и его контроллер), и я сопоставляются их в моем файле состоянияDataList не получает заселена в AngularJS

main.html

<input class="serialSearch" data-ng-placeholder="Serial #" data-ng-model ="serialNum" list="suggestion"/> 
      <datalist id="suggestion"> 
       <option data-ng-repeat="suggest in sugesstions.values"> {{suggest.title}}</option> 
      </datalist> 

mainController

$scope.sugesstions = {};  
var queryString= {"querystring" : ""+"q=name:"+$scope.serialNum+"*&qt=autocomplete-model&hl=true&hl.fl=name","$skip" : "0","$top" : "75"}; 
     searchResource.getList(queryString).then(
       function(data) { 
        $scope.sugesstions = data.items; 
       } 
     ); 

Когда я ввожу что-нибудь в моем SearchBox это вызывает ресурс и возвращает мне данные, но в этом случае searchResource.getList никогда не будет вызываться, когда есть какой-либо обмен в содержимом searchBox. ЗАЧЕМ?

+0

ли вы пытаетесь отлаживать? что вы видите под 'function (data)'. добавьте в HTML: '

{{sugesstions|json}}
' –

ответ

0

При изменении содержимого текстового поля и ожидает, что механизм выполнения запроса обжигает снова необходимо приложить директиву ng-change событий

<input class="serialSearch" data-ng-placeholder="Serial #" data-ng-model ="serialNum" list="suggestion" ng-change='search()'/> 

В контроллере

$scope.search=function() { 
    var queryString= {"querystring" : ""+"q=name:"+$scope.serialNum+"*&qt=autocomplete- model&hl=true&hl.fl=name","$skip" : "0","$top" : "75"}; 
     searchResource.getList(queryString).then(
       function(data) { 
        $scope.sugesstions = data.items; 
       } 
     ); 
} 
Смежные вопросы