Angularjs与jquery auto完成无法正常工作

时间:2013-09-25 10:35:34

标签: javascript jquery angularjs angularjs-directive jquery-ui-autocomplete

我在过去的5个小时里没有成功...  这是代码..

在视图中:

<input type="text" ng-model="foo" auto-complete/>Foo = {{foo}}

在控制器中:

    myapp.directive('autoComplete', function(autoCompleteDataService) {
    return {
        restrict: 'A',
        link: function(scope, elem, attr, ctrl) {
            elem.autocomplete({
                source: autoCompleteDataService.getSource(), //from your service
                select: function( event, ui ) {
                    scope.foo= ui.item.label;
                    scope.$apply;
                },
                change:function (event, ui) {
                    if (ui.item === null) {
                        scope.foo = null;
                    }
                },
                minLength: 2
            });
        }
    };
});

    myapp.factory('autoCompleteDataService', [function() {
    return {
        getSource: function() {
            return ['apples', 'oranges', 'bananas'];
        }
    }
}]);

这是问题......

所选项目进入输入框,但输入框旁边的foo变量未更新。

错误在哪里。

请建议......

1 个答案:

答案 0 :(得分:2)

更改

scope.$apply; 

scope.$apply(function(){
    scope.foo= ui.item.label;
});