在ng-repeat angularJS中将$ index插入name属性

时间:2016-03-07 03:18:23

标签: javascript angularjs

为了让ASP.NET MVC正确绑定表单帖子上的项目列表,name属性必须符合

的要求。
name='Show.Days[0].OpenHour'
name='Show.Days[1].OpenHour'

用户可以在表单字段中输入节目的天数,然后更新模型和ng-repeat。 我希望能够在名称字段中插入适当的索引,例如

name='Show.Days[$index].OpenHour'

这是否可以用角度?

2 个答案:

答案 0 :(得分:5)

使用name="Show.Days[{{$index}}].OpenHour"。有了这个,AngularJS会评估$index并用正确的值替换它。

答案 1 :(得分:1)

您似乎忘记在视图中使用{{}}包装表达式。你需要这样的东西吗?



var app = angular.module('myApp', []);

app.controller("myCtrl", function ($scope) {
    $scope.Show = {
      Days: [
        {OpenHour: '8am'},
        {OpenHour: '10am'}
      ]
    };
});

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>

<div ng-app="myApp">
  <div ng-controller="myCtrl">
    <div ng-repeat="day in Show.Days">
      <input type="text" ng-model="Show.Days[$index].OpenHour" name="{{Show.Days[$index].OpenHour}}">
    </div>
  </div>
</div>
&#13;
&#13;
&#13;

还是喜欢这个?

&#13;
&#13;
var app = angular.module('myApp', []);

app.controller("myCtrl", function ($scope) {
    $scope.Show = {
      Days: [
        {OpenHour: '8am'},
        {OpenHour: '10am'}
      ]
    };
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>

<div ng-app="myApp">
  <div ng-controller="myCtrl">
    <div ng-repeat="day in Show.Days">
      <input type="text" ng-model="Show.Days[$index].OpenHour" name="Show.Days[{{$index}}].OpenHour">
    </div>
  </div>
</div>
&#13;
&#13;
&#13;