jQuery datepicker要求验证不与AngularJS一起使用

时间:2015-11-28 12:46:29

标签: javascript jquery angularjs twitter-bootstrap

在我的AngularJS应用程序中,我有一个带有基本输入文本字段的表单,其中实现了角形式验证。只有在表单生效时才会启用提交按钮。

我遵循this教程,通过编写自定义指令,使用AngularJS实现jQuery datepicker。

在我的HTML中,我添加了

<date-time-picker recipient="recipient"></date-time-picker>

我的指令看起来像

.directive('dateTimePicker', function() {
  return {
    restrict: 'E',
    replace: true,
    scope: {
      recipient: '='
    },
    template:
      '<div>' +
      '<input type="text" readonly data-date-format="yyyy-mm-dd hh:ii" name="recipientDateTime" data-date-time required>'+
      '</div>',
    link: function(scope, element, attrs, ngModel) {
      var input = element.find('input');


  input.datetimepicker({
    format: "mm/dd/yyyy hh:ii",
    showMeridian: true,
    autoclose: true,
    todayBtn: true,
    todayHighlight: true
  });

  element.bind('blur keyup change', function(){
    scope.recipient.datetime = input.val();
  });
  }
  }
});

表单在实现后仍然显示为脏。我在这里错过了什么吗?

PS:我在指令模板中给出了一个虚拟ng-model

1 个答案:

答案 0 :(得分:0)

之后

scope.recipient.datetime = input.val()

尝试添加

Scope.$digest();

呼叫。这应该迫使范围自行解决。