添加字段的新行AngularJS NG-重复 [英] Adding new row of fields with AngularJS ng-repeat
本文介绍了添加字段的新行AngularJS NG-重复的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想的第一行后添加字段的新行,当您点击添加新的参与者按钮。我已经看了几个来源,并随后建议,但首先与在code此NG重复,我的领域显示不出来。当我点击添加新的参与者什么也没有发生。不知道我有什么错在这里。
HTML:
<表类=COL-MD-12ID =客户表>
&所述; TR>
< TD>< / TD>
< TD>给定名称* LT; / TD>
< TD>中间名< / TD>
< TD>姓*< / TD>
< TD>先天* LT日期; / TD>
< TD>民族性与LT; / TD>
< TD>性别与LT; / TD>
< TD>成人或学生< / TD>
< / TR>
< TR数据-NG-重复=旅客旅行者>
< TD> 1< / TD>
&所述; TD>
<输入类型=文本占位符=赐名NG-模式=travelersForm.givenName/>
< / TD>
&所述; TD>
<输入类型=文本占位符=中间名NG模型=travelersForm.middleName/>
< / TD>
&所述; TD>
<输入类型=文本占位符=姓吴模型=travelersForm.lastName/>
< / TD>
&所述; TD>
<输入类型=日期级=日期选取器/>
< / TD>
&所述; TD>
<输入类型=文本占位符=国籍NG模型=travelersForm.nationality/>
< / TD>
&所述; TD>
<选择名称=性别ID =性别NG-模式=travelersForm.gender>
<期权价值=男性>男< /选项>
<期权价值=女>女< /选项>
< /选择>
< / TD>
&所述; TD>
<选择名称=学生ID =学生NG-模式=travelersForm.types>
<期权价值=学生>学生< /选项>
<期权价值=成人>成人及LT; /选项>
< /选择>
< / TD>
< / TR>
&所述; TR>
&所述; TD>
<按钮NG秀=showAddTraveler(旅行者)NG点击=addNewTraveler()>添加新的参与者和LT; /按钮>
< / TD>
< / TR>
< /表>
ANGULARJS
angular.module(旅行者,[])
.controller(travelersController功能($范围){
$ scope.travelersForm = {};
$ scope.travelersForm.givenName =测试;
$ scope.travelersForm.middleName =T;
$ scope.travelersForm.lastName =测试;
$ scope.travelersForm.nationality =白;
$ scope.travelersForm.gender =男性;
$ scope.travelersForm.types =成人; $ scope.travelers = [];
$ scope.addNewTraveler =功能(){
变种newItemNo = $ scope.travelers.length + 1;
$ scope.travelers.push({'ID':'旅行者'+ newItemNo});
};
$ scope.showAddTraveler =功能(选择){
返回travelers.id === $ scope.travelers [$ scope.travelers.length-1] .ID;
};
});
解决方案
由于您的 NG-重复
语法翻转:
修改
数据-NG-重复=,在旅客出行>
要:
数据-NG-重复=旅行者在旅行>
I am trying to add a new row of fields after the first row when you click the "Add New Participant" button. I've looked at a few sources and followed suggestions but first of all with this ng-repeat in the code, my fields do not show up. And when I click the "Add New Participant" nothing happens. Not sure what I've got wrong here.
HTML:
<table class="col-md-12" id="client-table">
<tr>
<td></td>
<td>Given Name*</td>
<td>Middle Name</td>
<td>Last Name*</td>
<td>Date of Birth*</td>
<td>Nationality</td>
<td>Gender</td>
<td>Adult or Student</td>
</tr>
<tr data-ng-repeat="travelers in traveler">
<td>1.</td>
<td>
<input type="text" placeholder="Given Name" ng-model="travelersForm.givenName"/>
</td>
<td>
<input type="text" placeholder="Middle Name" ng-model="travelersForm.middleName"/>
</td>
<td>
<input type="text" placeholder="Last Name" ng-model="travelersForm.lastName"/>
</td>
<td>
<input type="date" class="date-picker"/>
</td>
<td>
<input type="text" placeholder="Nationality" ng-model="travelersForm.nationality"/>
</td>
<td>
<select name="gender" id="gender" ng-model="travelersForm.gender">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
</td>
<td>
<select name="student" id="student" ng-model="travelersForm.types">
<option value="student">Student</option>
<option value="adult">Adult</option>
</select>
</td>
</tr>
<tr>
<td>
<button ng-show="showAddTraveler(traveler)" ng-click="addNewTraveler()">Add New Participant</button>
</td>
</tr>
</table>
ANGULARJS
angular.module("travelers", [])
.controller("travelersController", function($scope) {
$scope.travelersForm = {};
$scope.travelersForm.givenName = "Test";
$scope.travelersForm.middleName = "T";
$scope.travelersForm.lastName = "Tester";
$scope.travelersForm.nationality = "White";
$scope.travelersForm.gender = "male";
$scope.travelersForm.types = "adult";
$scope.travelers = [];
$scope.addNewTraveler = function() {
var newItemNo = $scope.travelers.length+1;
$scope.travelers.push({'id':'travelers'+newItemNo});
};
$scope.showAddTraveler = function(choice) {
return travelers.id === $scope.travelers[$scope.travelers.length-1].id;
};
} );
解决方案
Because your ng-repeat
syntax is flipped:
Change:
data-ng-repeat="travelers in traveler">
To:
data-ng-repeat="traveler in travelers">
这篇关于添加字段的新行AngularJS NG-重复的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文