Jquery Timepicker不更新angularjs指令中的模型

前端之家收集整理的这篇文章主要介绍了Jquery Timepicker不更新angularjs指令中的模型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我按键盘键时,例如0并且失去焦点它会自动设置为控制为00:00,但它不会更新模型值.
angular.module('test').directive('timePicker',[function () {
return {
  restrict: 'A',require: 'ngModel',scope: {
    model: '=ngModel'
  },link: function ($scope,element,attrs,ngModelCtrl) {

    element.timepicker({'timeFormat' : 'H:i'});

    ////element.on('change',function () {
    ////  scope.$apply(function () {
    ////    scope.model = element.datepicker('getTime');
    ////  });
    ////});


    ////$scope.$watch('model',function (newValues,oldValues,scope) {
    ////  console.log("Nothing here");
    ////});       
  }
}
}]);



<input id="startTime" type="text" name="startTime" data-ng-model="vm.data.StartTime" time-picker  />

由于模型未更新,我无法验证时间.
注释代码我试图更新值.

解决方法

发生这种情况是因为时间戳更改输入字段的值(可能使用$(“input”).val(“newval”))不会触发角度正在侦听的任何事件以启动摘要周期.

顺便说一句,我可以找到你可能想要使用的angular-jquery-timepicker.看一下它的源代码,好像在监听一个changeTime事件:

element.on('changeTime',function () {
  $scope.$apply(function () {
    $scope.model = element.val();
  });
});

changeTime事件也是documented(请参阅“事件示例”).

Plunkr中尝试一下.事实证明,收听改变事件也有效.

原文链接:https://www.f2er.com/jquery/177291.html

猜你在找的jQuery相关文章