Плагин ввода маски Jquery с угловой директивой

0

Я пытаюсь сделать плагин маски ввода jquery с угловой директивой. когда я пытаюсь использовать этот, он работает, но когда я его сохраняю, значение не наступает. Может кто-нибудь, пожалуйста, помогите мне на этом??.

Мой скрипт

 app.directive('maskrate', function ($http) {
            return {
                link: function (scope, element, attrs, ngModelCtrl) {
                    $("#rateVal").mask("0.99");
                }
            }

        });

Мой Html

<input type="text" name="inputTaxRate" data-ng-model="taxRate.Rate" id="rateVal" class="form-control" maskrate>
Теги:
mvvm

1 ответ

0
Лучший ответ

Здесь вам нужно обновить значение ng-model самостоятельно, потому что mask input js или директива maskrate не изменят значение ng-model.

чтобы сделать это самостоятельно, следуйте приведенному ниже коду.

app.directive('maskrate', function($http) {
    return {
      require: 'ngModel', // requiring ng-model directive on the element
      link: function(scope, element, attrs, ngModelCtrl) {

        var jquery_element = $(element);
        jquery_element.mask("0.99");

        //listen for events on text element
        jquery_element.on('keyup paste focus blur', function() {
            var val = $(this).val();

            // update the ng-model value
            ngModelCtrl.$setViewValue(val);
            ngModelCtrl.$render();

        })

      }
    }
});

ngModelCtrl.$setViewValue(val); & ngModelCtrl.$render(); ответственный за обновление значения ng-model.

вот ДЕМО

Ещё вопросы

Сообщество Overcoder
Наверх
Меню