hi i'm trying put next object
$scope.passengers = { adult : [ {firstname: "name", lastname: "anothername"},{firstname: "name", lastname: "anothername"},{firstname: "name", lastname: "anothername"}], child : [ {firstname: "name", lastname: "anothername"},{firstname: "name", lastname: "anothername"},{firstname: "name", lastname: "anothername"}], extras : "somevalue"} ;
in controller have following
$scope.passengers = {}; $scope.passengers.adult = []; $scope.passengers.child = []; $scope.numberadult = 10; $scope.numberchildren = 10; y las funciones //functions return array null $scope.getnumber = function(num) { num = parseint(num); return new array(num); }; $scope.savepassengers = function(product_id) { //for moment print variable console.log($scope.passengers) }
in html page
<form name="passengers-form" ng-submit="savepassengers(product.id)"> <div class="col-lg-12"> <div class="form-horizontal"> <div class="row"> <div class="form-group" ng-repeat="a in getnumber(numberadult) track $index"> <label class="col-sm-3 control-label">adult {{$index + 1 }}</label> <div class="col-sm-3"> <input required ng-model="passengers.adult[$index].firstname" class="form-control" placeholder="first name" type="text"> </div> <div class="col-sm-3"> <input required ng-model="passengers.adult[$index].lastname" class="form-control" placeholder="last name" type="text"> </div> </div> <div class="form-group" ng-repeat="a in getnumber(numberchildren) track $index"> <label class="col-sm-3 control-label">child {{$index + 1 }}</label> <div class="col-sm-3"> <input required ng-model="passengers.child[$index].firstname" class="form-control" placeholder="first name" type="text"> </div> <div class="col-sm-3"> <input required ng-model="passengers.child[$index].lastname" class="form-control" placeholder="last name" type="text"> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">extras</label> <div class="col-sm-6"> <textarea name="" ng-model="passengers.extras"class="form-control" id="" cols="30" rows="10"></textarea> </div> </div> <div class="col-xs-9 col-sm-9 col-md-9 col-lg-9"> <div class="form-group buttons pull-right"> <button class="btn btn-primary" id="guardar" type="submit"> <i class="fa fa-save"></i>add cart -> </button> </div> </div> </div> </div> </div> <div class="clearfix"></div> </form>
but, when print variable "passenger" , console show : object {extras: "somevalue"}
your problem ng-repeat
creates isolated scope, input fields not reflecting in correct scope. can further verified extras
field being fulfilled.
you should change these lines in html:
<input required ng-model="$parent.passengers.adult[$index].firstname" class="form-control" placeholder="first name" type="text"> ... <input required ng-model="$parent.passengers.adult[$index].lastname" class="form-control" placeholder="last name" type="text">
and same thing children area.
Comments
Post a Comment