在AngularJS中更改选择后格式化输入

时间:2014-06-04 07:51:28

标签: javascript angularjs

我在AngularJS中迈出了第一步。我使用此Plunker中的此指令来动态格式化我的输入。它完美无缺。

现在,我使用一个名为updateCountry()的函数,该函数侦听我的select并动态更改语言环境。它也是正确的。

问题:输入仍然采用旧的语言环境格式。如果我单击输入,格式将更改为新的区域设置格式。 我怎样才能触发'指令或格式化ng-model =' item-cost'更新我的选择后?

感谢您的提示!

HTML

<input ng:model="item.cost" blur-to-currency amount="stake" class="table-inputs unitprice">

SCRIPT UPDATE SELECT

$scope.updateCountry = function() {
// format the existing value of the input with the new locale
};

SCRIPT DIRECTIVE

.directive('blurToCurrency', function($filter){
  return {
    scope: {
      amount  : '='
    },
    link: function(scope, el, attrs){
      el.val($filter('currency' )(scope.amount, ''));

      el.bind('focus', function(){
        el.val(scope.amount);
      });

      el.bind('input', function(){
        scope.amount = el.val();
        scope.$apply();
      });

      el.bind('blur', function(){
        el.val($filter('currency')(scope.amount, ''));
      });
    }
  };
});

0 个答案:

没有答案