如何获得ng-repeat输入angularjs的值?

时间:2016-04-27 04:24:23

标签: javascript html angularjs

我从ng-repeat创建了一些动态输入。

我只想知道如何获取html中每个动态生成的输入字段的输入值。 https://jsfiddle.net/a6at8js6/5/

HTML

<div ng-app="mainApp" ng-controller="mainCtrl">

    <div ng-repeat="author in author_group" class="authorAndTagGroup">
      <div ng-repeat="(key, value) in author">
        <label class="col-sm-3 control-label">{{key}}</label> 
        <input type="text" value="{{value}}">
      </div>
    </div>

</div>

angularjs

var app = angular.module("mainApp",  []);
app.controller('mainCtrl', function($scope){

$scope.authors = [{'author_name': 'akshay', 'about_author':'this is about author', 'author_image':'image url here'}];

 $scope.author_group = [];

    for (var key in $scope.authors) {
     $scope.author_group.push({'Author Name' : $scope.authors[key].author_name, 'About the Author' : $scope.authors[key].about_author, 'Author Image' : $scope.authors[key].author_image, 'Author Linkedin Profile' : '', 'Author Twitter Profile' : ''});
   }
   console.log($scope.author_group);
});

1 个答案:

答案 0 :(得分:3)

将输入文本绑定到作者对象的关键属性。

$apply()

请注意以下ebinmanuval建议的 NOT 工作;这是因为它无法改变底层作者对象,而只是覆盖了value属性。这里的技巧是我们想要将模型绑定到引用类型,就像对象而不是像值类型那样的字符串,这样当我们将模型变为基础类型时也发生了变异:

<input type="text" ng-model="author[key]">

https://jsfiddle.net/775dfa9y/4/