我在角度
的复选框中使用可以为空的日期时间在我的模特中
public Nullable<System.DateTime> MemberUnreachableDateTimeStamp { get; set; }
在我名为name =&#34; memberInfoForm&#34;
的html表单中<input type="checkbox"
ng-model="memberInformation.Details.MemberUnreachableDateTimeStamp"
ng-checked="memberInformation.Details.MemberUnreachableDateTimeStamp != null"
ng-true-value="{{getDatetime()}}"
ng-false-value="{{null}}">
我有一个按钮,当我单击复选框将其设置为当前日期时间时,该按钮被禁用,然后再次单击它以将其设置为null,表单变为无效。我尝试设置ng-false-value =&#34; {{&#34; null&#34;}}&#34; (没有成功)任何其他建议将不胜感激!谢谢!
下面是我的按钮,它会检查表单的有效性,如果这样可以提供更多信息。
<button type="button" class="btn btn-primary btn-sm" ng-disabled="!memberInfoForm.$valid" ng-click="memberInfoForm.$valid && SaveUserInformation()">Save Personal Information</button>
答案 0 :(得分:0)
好吧,所以我玩了一段时间,并提出了以下解决方案。
在我的Controller中,我创建了一个名为UpdateMemberUnreachableDateTimeStamp的函数和一个新的作用域变量memberUnreachable
$scope.memberUnreachable;
$scope.UpdateMemberUnreachableDateTimeStamp = function (checked) {
if (checked)
{
$scope.memberInformation.Details.MemberUnreachableDateTimeStamp = new Date();
$scope.memberUnreachable = true;
}
else {
$scope.memberInformation.Details.MemberUnreachableDateTimeStamp = null;
$scope.memberUnreachable = false;
}
};
在我的HTML中
<input type="checkbox"
ng-model="memberUnreachable"
ng-checked="memberInformation.Details.MemberUnreachableDateTimeStamp != null"
ng-click="UpdateMemberUnreachableDateTimeStamp(memberUnreachable)" />
似乎可以将可空的datetime memberInformation.Details.MemberUnreachableDateTimeStamp设置为null,并在执行此操作时保持表单有效。可能有一个更清洁的解决方案,所以如果你想到一个,请告诉我。