大家好我正在使用angularjs
,使用datepicker
功能。输入类型日期不适用于IE,因此我使用jquery
和css
来获取日期选择器,它工作正常,但我无法触发ng-change
事件IE,在这里我附上了我的小提琴帮助。帮我解决这个问题。
答案 0 :(得分:3)
Internet Explorer 11目前不支持datepicker onSelect
,因为您已尝试查找解决方法。您可以使用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);
}
});
}
并更新您的模型。您可以手动触发更改功能。这样您就可以从HTML5 Date支持的浏览器和其他浏览器中收集这些更改。
你可以找到小提琴here
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div ng-app ng-controller="LoginController">
<input type="date" id="test" ng-model="date" ng-change="changeDetected()"/>
{{date}}
</div>
&#13;
$dbhost = 'localhost';
$dbuser = 'USERNAME';
$dbpass = 'PASSWORD';
$dbname = 'DATABASETABLE';
&#13;
答案 1 :(得分:0)
无法正常工作的原因是IE11不知道输入=“date” 请看一下截图!! https://iamlalit.tinytake.com/sf/MTgxNjMyN181OTAwMzE4
答案 2 :(得分:0)
IE 11不支持<input type='date'>
。因此,您可以使用输入type='text'
或date picker。
但无论如何,您需要验证该字段是否已从此讨论中输入无效日期
Javascript: how to validate dates in format MM-DD-YYYY?
您应该阅读以下讨论以更好地理解
How to make <input type="date"> supported on all browsers? Any alternatives?
How to get HTML 5 input type="date" working in Firefox and/or IE 10
答案 3 :(得分:0)
下面我们谈论的是IE11:
我认为原因是jquery .datepicker方法不会将日期更改委托给你的ng-change方法。
如果修改输入类型=“text”,则ng-change也不会触发警报。 但是,如果您手动修改输入内容,则会触发警报消息。
也许您应该使用一些角度日期选择器而不是jquery日期选择器来处理所有浏览器。