在Internet Explorer中,输入type =“date”不起作用,而angular指令则用于显示jqueryUI datetimepicker。
但是,在chrome中,两者都在显示,有没有办法使用jquery从元素中删除指令,这样当它允许输入类型日期时,才会采用唯一的html5日期时间?
HTML:
<input id="date1" type="date" ng-model="date" jqdatepicker/>
<br/>
{{ date }}
javascript:
var datePicker = angular.module('app', []);
datePicker.directive('jqdatepicker', function () {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ngModelCtrl) {
element.datepicker({
dateFormat: 'mm/dd/yy',
onSelect: function (date) {
scope.date = date;
scope.$apply();
}
});
}
};
});
$(document).ready(function(){
$('#date1').removeAttr('jqdatepicker');
if ($('#date1')[0].type != 'date') {
}
});
答案 0 :(得分:0)
我通过从指令
有条件地返回来解决这个问题http://jsfiddle.net/TAeNF/1421/
if ($('#date1')[0].type != 'date') {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ngModelCtrl) {
element.datepicker({
dateFormat: 'mm/dd/yy',
onSelect: function (date) {
scope.date = date;
scope.$apply();
}
});
}
};
}
else
return null;
});