我在MVC 5 Web应用程序中使用Angular.js。我的网页上有日期选择器。
指令
myApp.directive('datepicker', function () {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ProfileCtrl) {
element.datepicker({
autoclose: true,
onSelect: function (date) {
ProfileCtrl.$setViewValue(date);
scope.$apply();
}
});
}
};});
输入标记
<div class="form-group">
<label for="dob" class="col-sm-4 control-label text-left">DOB</label>
<div class="col-md-8">
<input type="text" datepicker name="dob" class="form-control" ng-model="models.DOB" />
</div>
</div>
每件事都很好。
但是我遇到了一个问题,当我尝试将日期值从数据库加载到文本框时,日期选择器不会突出显示所选日期,日期选择器dateformat与文本框不同。请参见下图。
答案 0 :(得分:1)
尝试使用此代码更正日期格式并检查
$scope.models.DOB=GetFormattedDate(models.DOB);
function GetFormattedDate(dateString, replaceNullValue) {
if (replaceNullValue == false && IsBlank(dateString)) {
return "";
}
var dt = dateString != null ? new Date(dateString) : new Date();
var d = dt.getDate();
var dd = d < 10 ? "0" + d : d;
var m = dt.getMonth() + 1;
var mm = m < 10 ? "0" + m : m;
var y = dt.getFullYear();
return mm + "/" + dd + "/" + y;
}