【发布时间】:2017-12-23 04:19:34
【问题描述】:
我有 1 次 ng-repeat 并在 ng-change 上提交了输入:
$scope.roomsHotel = '',
$scope.roomsOption = ['1','2','3','4','5']
$scope.numberRoom = function(index){
$scope.roomCount =this.roomsHotel
}
并且可以通过$index ng-repeat 该曲目:
<div class="row" ng-repeat="rooms in roomsOption | limitTo: roomCount track by $index">
在这个 ng-repeat 中,我有一些 md-select 需要在提交之前进行验证:
<div>
<md-input-container class="md-block col-md-12" flex>
<label>Bed Type </label>
<md-select
ng-model="bedType[$index]"
name="bedType{{$index}}"
ng-required="true"
ng-change="bed()">
<md-option
ng-repeat="bed in bedOption"
ng-model="bedHotel"
ng-value="bed"
ng-messages>{{bed}}
</md-option>
</md-select>
<div
ng-messages="hotelForm['bedType'+$index].$error"
ng-if="hotelForm['bedType'+$index].$invalid &&
(submitted || hotelForm['bedType'+$index].$touched)">
<div ng-message="required">Type of bed is require</div>
</div>
</md-input-container>
</div>
对于 ng-message 没问题,我可以让它工作,但是在控制器上我需要在提交之前验证,但是 bedType0 和 bedType1 等等给我 undefined :
$scope.submitHotelsCtrl = function( numberOfRooms, bedType,$index) {
$scope.submitted = true;
if ($scope.hotelForm.numberOfRooms.$valid &&
$scope.hotelForm.bedType.$$rawModelValue.$valid) {
console.log('hi')}
}
我尝试循环抛出 roomsOption 或其他方式,但它们都不起作用,这是我尝试在 plnkr 上进行的任何帮助将节省我的一天
【问题讨论】:
标签: javascript angularjs angular-material