【发布时间】:2023-03-26 08:09:01
【问题描述】:
目前我有两个日期输入。我正在尝试将第二个日期输入默认为第一个日期输入。然后,用户可以将第二个日期输入更改为不同的值(保持第一个不变)。
当我更改我的第一个日期时,第二个日期输入更新正常,但是,ng-model 没有对form_data.to_date 属性的值更改进行建模,因此即使两者都导致表单仍然无效必填字段已填写。
这是一个问题的例子:
angular.module('myApp', [])
.controller('myController', function($scope) {
$scope.form_data = {
from_date: '',
to_date: ''
};
$scope.f = function() {
setTimeout(function() { // delay to show that to_date is not updating
console.log($scope.form_data);
}, 1000);
}
});
angular.element(document).ready(() => {angular.bootstrap(document, ['myApp']);});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-controller="myController">
<form name="myForm">
<input type="date"
ng-model="form_data.from_date"
name="from_date"
ng-change="f()"
required />
<input type="date"
ng-model="form_data.to_date"
name="to_date"
ng-value="form_data.to_date || form_data.from_date | date: 'yyyy-MM-dd'"
required />
<p>Form invalid: {{myForm.$invalid}}</p> <!-- Should be false when first date is changed -->
</form>
</div>
当value 在第一个输入中更改时,如何在第二个日期输入中获取ng-model 以模拟其更改?
【问题讨论】:
标签: javascript angularjs forms angularjs-ng-model