在AngularJS中没有填充datalist

时间:2013-12-10 11:38:56

标签: angularjs

我有以下用AngularJS编写的代码(简单的HTML及其控制器),我将它们映射到我的状态文件

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。为什么?

1 个答案:

答案 0 :(得分:1)

如果要更改文本框内容并且期望再次触发查询机制,则需要附加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;
                }
        );
}