Я пытаюсь сделать плагин маски ввода 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>
Здесь вам нужно обновить значение 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
.
вот ДЕМО