$ watch不会触发autocomplete ng-model

时间:2016-03-26 10:53:14

标签: javascript angularjs

我有一小部分代码$watch但是在使用自动完成(jQuery插件)的输入时不会触发。它仅在手动输入输入时触发

app.directive("autoCode", ['elementData', function(elementData) {
    var codes = elementData.map(function(ele){
        return ele.Code;
    });     
    return {
     restrict: 'A',
     scope:{        
     },  
      link: function(scope, element, attrs) {     
        $(element).autocomplete({source:[codes]});      
    }};
}]);

app.controller('transactionCtrl',['$scope','elementData', function($scope, elementData){
    var names = elementData.map(function(ele) {
        return ele.Name;
    }),
    codes = elementData.map(function(ele) {
        return ele.Code;
    });

    $scope.$watch('code', function(codeValue){
        console.log(codeValue);

    }); 
}]);

下面是html:

 <form >

    Code: <input type="text" name="code" auto-code ng-model="code">
    Name: <input type="text" name="name" auto-name ng-model="name">

    </form>

如何使其与手动输入和自动填充一起使用?

1 个答案:

答案 0 :(得分:0)

尝试:

$scope.$watch($("input[name='code']").length, function(codeValue){
        console.log(codeValue);

    });

类似的东西。您必须将监视放在多次更改的值