2013-12-10 79 views
0

我有以下寫在AngularJS代碼(簡單的HTML及其控制器),我映射他們在我的狀態文件數據列表是沒有得到填充在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中輸入任何東西時調用資源和返回我的數據,但在此情況下,如果searchBox內容發生任何變化,則永遠不會調用searchResource.getList。爲什麼?

+0

你嘗試調試?你在'函數(數據)'下看到了什麼。請添加到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; 
       } 
     ); 
}