带有Angular Directive的Jquery输入掩码插件

时间:2015-10-30 04:42:36

标签: javascript jquery angularjs mvvm

我正在尝试使用angular指令执行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>

1 个答案:

答案 0 :(得分:0)

您需要自行更新$.post("updateList.php", {order: order, team_id: team_id, engineer_id: engineer_id}, function(theResponse) 值,因为$order = $_POST['order']; $team_id = $_POST['team_id']; $engineer_id = $_POST['engineer_id']; ng-model指令不会更改mask input js值。

要做到这一点,请按照以下代码。

maskrate

ng-model&amp; 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);值。

这是MSDN