IE 11没有触发“ng-change”(AngularJS)

大家好我正在使用angularjs ,使用angularjsfunction。 输入类型日期不适用于IE所以我使用jquerycss来获取日期选择器,它工作正常,但我无法在IE中触发ng-change事件,这里我附上了我的小提琴帮助。 帮我解决这个问题。

小提琴

Internet Explorer 11目前不支持因为您已经尝试查找解决方法。 您可以使用datepicker onSelect并更新您的模型。 您可以手动触发更改function。 这样您就可以从HTML5 Date支持的浏览器和其他浏览器中收集这些更改。

你可以在这里找到小提琴

 function LoginController($scope) { $scope.changeDetected = function() { console.log($scope.date); } if ($('#test')[0].type != 'date') $('#test') .datepicker({ onSelect: function(date) { $scope.date = date; $scope.$apply(); $scope.changeDetected(date); } }); } 
   
{{date}}

它不工作的原因是IE11不知道输入=“日期”请查看截图!! https://iamlalit.tinytake.com/sf/MTgxNjMyN181OTAwMzE4

IE 11不支持 因此,您可以使用input type='text'或日期选择器 。

但无论如何,您需要validation该字段是否已从此讨论中输入无效日期

Javascript:如何以MM-DD-YYYY格式validation日期?


你应该阅读以下讨论以便更好地理解

如何在所有浏览器上支持? 任何替代品?

如何在Firefox和/或IE 10中使用HTML 5输入类型=“日期”

下面我们谈论IE11:

我认为原因是jquery .datepicker方法不会将日期更改委托给你的ng-change方法。

如果修改输入类型=“文本”,则ng-change也不会触发警报。 但是,如果手动修改输入内容,则会触发警报消息。

也许您应该使用一些角度datepicker而不是jquery日期选择器来处理所有浏览器。