ng-repeat for tr动态添加行。

时间:2016-10-30 03:03:24

标签: javascript angularjs

<tr class="workTime" ng-repeat="worktime in doctor.shift" >                                 
    <td><select name="multipleSelect" class="form-control selectpicker"          
     id="multipleSelect" ng-model="doctor.shift.workDays" multiple>
          <option ng-repeat="days in weekdays">{{days}}</option>                                      
       </select>
   </td>
   <td><input type="text" class="form-control" ng-model =                      
    "doctor.shift.workFrom"></td>
    <td><input type="text" class="form-control" ng-model =     
     "doctor.shift.workTo">   
    </td>
    <td><span class="glyphicon **glyphicon-plus** glyph_size "  ng-
     click="addWorkTime()" aria-hidden="true "></span></td>
</tr>

我是Angular的新手。我想点击glyphicon-plus重复tr。我不知道该怎么做。我没有提取任何数据。我只想在点击glyphicon-plus时添加一行与各自的字段。有人可以帮我解决这个问题。如果我必须编写任何脚本。我需要写什么脚本

1 个答案:

答案 0 :(得分:0)

好的,这是排序答案:

var app = angular.module('main', []); 
app.controller('ctrl', function ($scope) {
    // create an object to hold the collection
    $scope.doctor = {
        shift : {
        worktimes: []
      }
    };

    $scope.addWorkTime = function() {
        // add an element to the end of the array
      $scope.doctor.shift.worktimes.push( {
                workDay: 1,
            workFrom: '9:00',
            workTo: '22:00'
      });
    };
    // add an initial row - if there are no rows, there's no add button!
    $scope.addWorkTime();
});

https://jsfiddle.net/cglist/t661eh5y/5/?utm_source=website&utm_medium=embed&utm_campaign=t661eh5y

答案很长,你的HTML中有一些有趣的东西可以说明你刚开始使用Angular。 首先,当你这样说: ng-repeat =&#34;在doctor.shift中的工作时间&#34; ...&#34;工作时间&#34;是一个临时变量,仅用于迭代对象或(更可能)集合。因此,在重复的模板中,您希望绑定到以下内容:&#34; worktime.workFrom&#34; 您会看到我调整了您的html和数据模型以使其全部工作,同时尝试猜测您要完成的工作。

接下来,对于选择框中的选项,目前的方法是使用&#34; ngOptions&#34;,而不是&#34; ngRepeat&#34; :https://docs.angularjs.org/api/ng/directive/ngOptions