大家好我正在使用angularjs
,使用datepicker
功能。輸入類型的日期不工作在IE瀏覽器,所以我使用jquery
和css
獲取日期選擇器,它工作正常,但我不能觸發IE中的ng-change
事件,在這裏我附上了我的小提琴幫助。幫我解決這個問題。IE 11不會觸發「ng-change」(AngularJS)
回答
Internet Explorer 11當前不支持<input type='date'>
,因爲您已經試圖找到解決辦法。您可以使用datepicker onSelect
並更新您的模型。您可以手動觸發更改功能。這樣您就可以收集HTML5 Date支持的瀏覽器和其他瀏覽器的更改。
您可以找到小提琴here
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);
}
});
}
<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">
\t <input type="date" id="test" ng-model="date" ng-change="changeDetected()"/>
{{date}}
</div>
它之所以不工作是IE11不知道爲type =「日期」 請看看到屏幕截圖! https://iamlalit.tinytake.com/sf/MTgxNjMyN181OTAwMzE4
在我的小提琴我應用CSS來獲取選擇器任何方式來解決該pblm – jose
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
下面我們正在談論IE11:
我想原因是jQuery的.datepicker方法不會委託日期更改到NG-變化的方法。
如果修改輸入類型=「text」,則ng-change也不會觸發警報。 但是,如果您手動修改輸入內容,則會觸發警報消息。
也許你應該使用一些角度datepicker而不是jQuery日期選擇器來處理所有的瀏覽器。
- 1. AngularJS - 觸發ngChange?
- 2. AngularJS ngChange觸發器onblur
- 3. IE的onclick不會觸發
- 4. IE不會觸發輸入
- 5. AngularJs:$ watch不會觸發
- 6. 從自定義指令觸發ngChange
- 7. 在ngModel更改時未觸發ngChange
- 8. x-tags不會觸發IE上的WebComponentsReady
- 9. IE不會觸發輸入和標籤
- 10. jquery tipsy不會觸發onclick IE
- 11. Javascript onmouseover不會在IE中觸發
- 12. IE onpropertychange事件不會觸發
- 13. 硒IE更改事件不會觸發
- 14. AngularJS,選擇onChange或ngChange
- 15. Angularjs costum過濾器不會觸發
- 16. Ionic/AngularJS ng-click事件不會觸發?
- 17. AngularJS-ng-checked不會觸發ng-change
- 18. Angularjs ng-click不會觸發指令
- 19. 觸發器看localStorage的變化不會在angularjs中觸發
- 20. IE 11的onload不會被調用
- 21. Pointermove在IE上不觸發觸摸
- 22. ng-click不觸發Angularjs
- 23. OnChange事件沒有針對ReactJS組件的IE 11觸發
- 24. IE 11未在SVG地圖上觸發Mouseenter或Mouseleave事件
- 25. OnSelectedIndexChanged在生產中未觸發 - 僅限IE 11
- 26. 爲什麼有不同版本的IE則不會觸發
- 27. ng-repeat內的AngularJS驗證不會觸發
- 28. AngularJS - ng-click不會觸發我的控制器功能
- 29. AngularJS何時會觸發髒檢?
- 30. OnEnterBreakMode不會觸發
Internet Explorer 11當前不支持''。你可以使用ng-datepicker。 –
@ Ahmet CanGüven我知道所以只有我申請日期不支持的瀏覽器我申請jquery讓另一個選擇器好心地檢查我的小提琴在IE – jose
可能重複[如何使所有瀏覽器支持?任何替代品?](https://stackoverflow.com/questions/18020950/how-to-make-input-type-date-supported-on-all-browsers-any-alternatives) –