我无法让AngularJS过滤器与Jquery自动完成功能一起正常工作。键入时过滤器工作正常,但如果从自动完成列表中选择项目,则在按下另一个键之前不会更新结果。
Jquery自动完成:
$( "#searchTeam" ).autocomplete({
source: teamList,
change: function(event,ui)
{
if (ui.item==null)
{
$("#createPeopleForm_team").val('');
$("#createPeopleForm_team").focus();
angular.element($(this)).triggerHandler('input')
}
},
minLength: 0
}).focus(function(){
//Use the below line instead of triggering keydown
$(this).autocomplete("search");
});
});
并且过滤器的输入如下所示:
<input id="searchTeam" ng-model="query.team"><br/>
答案 0 :(得分:0)
$( "#searchTeam" ).autocomplete({
source: teamList,
change: function(event,ui)
{
if (ui.item==null)
{
$("#createPeopleForm_team").val('');
$("#createPeopleForm_team").focus();
angular.element($(this)).triggerHandler('input')
}
},
minLength: 0
}).focus(function(){
//Use the below line instead of triggering keydown
$(this).autocomplete("search");
$scope.$apply();//might be you missing this
});
});
可能需要使用$ scope手动更新绑定。$ apply。试试吧