我附上了以下的羽毛球 http://plnkr.co/edit/NPpjRM54vPu56GH9N1kI?p=preview
如您所见,有一个可用标签列表。如果我在输入字段中写'a',则会在下面显示几个自动填充项目。
如果我继续输入,我可以使用以下代码
查看我在其旁边键入的内容<input id="tags" ng-keyup="complete()" ng-model="data" /> selected = {{data}}
但是,我只是在自动填充的下拉列表中选择“ActionScript”,而不是输入,而不是更新为ng-model。
有人可以让我知道如何从下拉列表中进行选择并将其更新为ng-model。
答案 0 :(得分:1)
根据自动填充文档,有一个&#34; select&#34;将满足您需求的活动:
$( "#tags" ).autocomplete({
source: $scope.availableTags,
select: function( event, ui ) {
$scope.data = ui.item.value;
}
});
这将使您在将焦点移出字段后更改$ scope.data的值。如果要立即传播更改,可以使用0秒$ timeout,如下所示:
$( "#tags" ).autocomplete({
source: $scope.availableTags,
select: function( event, ui ) {
$timeout(function() { $scope.data = ui.item.value; }, 0);
}
});
请记住,您需要在控制器中注入$ timeout:
app.controller('ctrl',function($scope, $timeout){ ... });