2013-12-10 37 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; 
       } 
     ); 
}