Javascript Angularjs没有';t更改日期选择器日期格式
我在这个网站上尝试了很多解决方案,标记为anwers,但datepicker不会更改日期格式。我使用这个角度指令没有结果:Javascript Angularjs没有';t更改日期选择器日期格式,javascript,angularjs,datepicker,Javascript,Angularjs,Datepicker,我在这个网站上尝试了很多解决方案,标记为anwers,但datepicker不会更改日期格式。我使用这个角度指令没有结果: App.directive('datepicker', function() { return function(scope, element, attrs) { element.datepicker({ inline: true, dateFormat: 'dd/mm/yy',
App.directive('datepicker', function() {
return function(scope, element, attrs) {
element.datepicker({
inline: true,
dateFormat: 'dd/mm/yy',
onSelect: function(dateText) {
var modelPath = $(this).attr('ng-model');
putObject(modelPath, scope, dateText);
scope.$apply();
}
});
}
});
此外,在html上:
<input type="text" ng-model="finalDate" date-format="dd/mm/yyyy" date-type="string" datepicker>
控制台日志不打印任何内容。老实说,我不知道还能做什么,我尝试了其他解决方案,但没有结果。有什么想法吗
编辑:Plunker添加了使用此指令
App.directive('datepicker', ['$filter', '$parse', function ($filter, $parse) {
return {
require: 'ngModel',
link: function (scope, element, attrs, ctrl) {
element.datetimepicker({
weekStart: 1,
todayBtn: 1,
autoclose: 1,
todayHighlight: 1,
startView: 2,
minView: 2,
forceParse: 0,
endDate: attrs.enddate == "" ? new Date() : null,
format: "yyyy-MM-dd"
}).on('changeDate', function (ev) {
var dateUTC = new Date(ev.date.getTime() + (ev.date.getTimezoneOffset() * 60000));
var filterApply = $filter('date')(dateUTC, 'yyyy-MM-dd');
$parse(attrs.ngModel).assign(scope, filterApply);
scope.$digest();
});
}
}}]);
如果你想使用你的指令,它应该是
App.directive('datepicker', function ($filter, $parse) {
return function (scope, element, attrs) {
element.datepicker({
inline: true,
dateFormat: 'dd/mm/yy',
onSelect: function (dateText) {
var dateUTC = new Date(dateText.date.getTime() + (dateText.date.getTimezoneOffset() * 60000));
var filterApply = $filter('date')(dateUTC, 'dd/mm/yy');
$parse(attrs.ngModel).assign(scope, filterApply);
scope.$digest();
}
});
}});
没有一个是有效的,如果它有任何帮助我使用angularjs v。1.3.14和日期选择器v。1.4你能做一个plunker吗?我可以在那里修好它吗?它的工作伙伴,看看你的plunker:)它的格式,你还想做什么?是和否,它正在格式化,但是你看到的格式是MM/dd/yyyyy而不是dd/MM/yyyyy将格式从MM/dd/yyyy改为dd/MM/yyyyyy,我不明白你的意思。怎么了?
App.directive('datepicker', function ($filter, $parse) {
return function (scope, element, attrs) {
element.datepicker({
inline: true,
dateFormat: 'dd/mm/yy',
onSelect: function (dateText) {
var dateUTC = new Date(dateText.date.getTime() + (dateText.date.getTimezoneOffset() * 60000));
var filterApply = $filter('date')(dateUTC, 'dd/mm/yy');
$parse(attrs.ngModel).assign(scope, filterApply);
scope.$digest();
}
});
}});