我通过以下代码动态添加出生日期的md-datepicker:
$scope.infData = [];
$scope.addInf = function() {
if ($scope.infData.length < 4) {
$scope.infData.push({});
}
};
我的html如下:
<div class="col-xs-7 col-md-3"
ng-repeat="d in infData | limitTo: 4"
ng-value="d.value"
ng-class="{'md-align-top-left': $index==1}">
<md-input-container flex>
<label>infant D.O.B</label>
<md-datepicker
onkeydown="return false"
name="myDate{{$index}}"
ng-model="inf[$index==1].date"
md-hide-icons="all"
ng-required="true"
md-current-view="year"
md-min-date="ctrl.minDate"
md-max-date="ctrl.maxDate"
md-open-on-focus="true"
ng-messages>
</md-datepicker>
他们仅限于4人。我的目标是获得正确日期选择器的成功日期:
if ($scope.inf.dateString = moment($scope.inf.date).format("YYYY-MM-DD")) {
$scope.list.push(this.inf.dateString);
现在我的问题是:
1)当$ index = 1时,我如何将值赋予此日期选择器(如果此日期选择器不推,则不显示值)?
2)该值始终为最大日期(今天的任何日期)?
3)我确定我的ng-model=inf[$index==1].date
错了,但我怎么能让它变得动态?
4)如何在提交$scope.inf = ""; & $scope.inf = {};
之后重置值不工作且值保持在那里
任何想法和帮助都会节省我的一天。
PS:
我阅读了关于angularjs ng-model inside nested ng-repeat
的大部分叠加问题,但其中没有对我有效
答案 0 :(得分:0)
不能解决这个问题,但也许你想要这个:
$scope.addInf = function(index) {
if ($scope.infData.length < 4) {
$scope.infData.push({
date: (index == 1 ? 'Some value you want' : '')
});
}
};
更改日期选择器HTML
ng-model="d.date"
您的添加按钮HTML
<button ng-if="$last" ng-click="addInf($index)">myBtn</button>
假设按钮位于重复的div
内