我有三个单选按钮A,B和C.如果选择B或C,则输入字段带有日期选择器显示。如果它是新记录,则当前日期将显示在输入字段中。 如果单选按钮' A'被选中'活跃'保存到表中。如果是' B'或者' C'然后选择当前日期或用户选择的日期存储在表格中。 我遇到的问题是,如果我选择A',' Active'存储在表中。当我去编辑并选择' B'或者' C',' Active'当输入字段应该是当前日期时显示在输入字段中。 我添加了ng-change到' B'或者' C'。在函数中,如果值==" Active"然后显示当前的日期和时间。 这很有用。如果我选择了' B',请选择一个日期,然后保存,返回并编辑,然后选择之前保存为' B'的日期。当它应该是当前日期时显示。 这是我的HTML:
SELECT CONVERT(CHAR(17), PlannedStartDateUTC,13)
FROM VisitMovement VM
WHERE vm.VisitMovement_GUID =
(
SELECT TOP 1 VM2.VisitMovement_GUID
FROM VisitMovement VM2
WHERE VM2.Visit_GUID = VisitMovement.Visit_GUID
ORDER BY VM2.OrderIndex) AS [Estimated Move],
这是控制器:
<div class="form-group"
<label class=" control-label col-xs-5" for="User">
Some Date:
</label>
<div class="col-xs-7 form-inner-group padRt0">
<div class="clearfix stackDate">
<input name="SomeDate" id="Date1_0" type="radio" ng-model="vm.approval.SomeDateID" ng-value="1">A<br />
</div>
<div class="clearfix stackDate">
<input name="SomeDate" id="Date1_1" type="radio" ng-model="vm.approval.SomeDateID" ng-change=vm.setDate() ng-value="2">
B <input class="form-field cal-field" type="text"
ng-show="vm.approval.SomeDateID==2" name="SomeDate"
ng-model="vm.approval.SomeDate"
datepicker-popup="dd-MMM-yyyy" close-text="Close" ng-model="vm.approval.SomeDateB"><br />
</div>
<div class="clearfix stackDate">
<input name="SomeDate" id="Date1_2" ng-model="vm.approval.SomeDateID" type="radio" ng-change=vm.setDate() ng-value="3">
C <input type="text" class="form-field cal-field" ng-required="vm.approval.SomeDateID==3" ng-show="vm.approval.SomeDateID==3"
name="SomeDateC" datepicker-popup="dd-MMM-yyyy" close-text="Close" ng-model="vm.approval.SomeDate"><br />
</div>
</div>
</div>
请注意,我还存储了数据库中每个单选按钮的id。
答案 0 :(得分:0)
我想我只需要谈谈事情,因为我最终搞清楚了。这可能不是最好的方法,但是当页面加载时我将表中存储的id分配给局部变量。然后在ng-change函数中,我检查了该变量对所选vm的值。如果它们不相等,那么我将当前日期和时间分配给vm。这似乎有效。