如何使用track by$index从AngularJs中的文本字段中获取值

如何使用track by$index从AngularJs中的文本字段中获取值,angularjs,Angularjs,对。。。在我的控制器中,我有这样一个数组: $scope.EmployeeTimes = [{Day: 'Monday',StartTime: '08:00', FinishTime: '5:00'}, { Day: 'Tuesday',StartTime: '08:00', FinishTime: '5:00'}, {Day: 'Wed',StartTime: '08:00', FinishTime:

对。。。在我的控制器中,我有这样一个数组:

$scope.EmployeeTimes = [{Day: 'Monday',StartTime: '08:00', FinishTime: '5:00'},
                       { Day: 'Tuesday',StartTime: '08:00', FinishTime: '5:00'},
                       {Day: 'Wed',StartTime: '08:00', FinishTime: '5:00'},
                       {Day: 'Thursday',StartTime: '08:00', FinishTime: '5:00'}]
然后我在我的观点中传递并循环上述上下文,如下所示:

 <div ng-repeat="a in EmployeeTimes track by $index">
                    <input type="text" ng-model="a.Day">
                    <input type="text" ng-model="a.StartTime">
                    <input type="text" ng-model="a.Finish">
                </div>

正如你所看到的,我使用trackby$index,自动创建了我需要的所有文本字段。 现在如何从文本字段中获取每个值?因此,在我上面的例子中,我需要为给定的员工获得从周一到周四的开始时间和结束时间。如何获取这些值? 基本上,我试图避免在星期一到星期四期间创建startTIme和FinishTime文本框,因此我使用了track index。如何实现这一点?

以下是一个基于您的代码的示例:更改内容,按“流程数据”链接,然后查看您的控制台

由于角度绑定,您的Javascript模型会在更改文本字段中的内容时立即更新。如果要访问星期一的开始时间,请执行以下操作:

$scope.EmployeeTimes[0].StartTime $scope.EmployeeTimes[0]。开始时间 您可以更改时间,然后单击“处理”;如果您查看控制台,您将在控制器中看到更新的数据。在控制台中,将星期二的开始时间更改为“02:00”后,我看到了以下内容:

Processing... console_runner-d0a557e….js:1 Day: Monday StartTime: 08:00 FinishTime: 5:00 console_runner-d0a557e….js:1 Day: Tuesday StartTime: 02:00 FinishTime: 5:00 console_runner-d0a557e….js:1 Day: Wed StartTime: 08:00 FinishTime: 5:00 console_runner-d0a557e….js:1 Day: Thursday StartTime: 08:00 FinishTime: 5:00 处理。。。 console_runner-d0a557e…js:1天:周一开始时间:08:00完成时间:5:00 控制台\u runner-d0a557e…js:1天:周二开始时间:02:00完成时间:5:00 控制台\u runner-d0a557e…js:1天:周三开始时间:08:00完成时间:5:00 console_runner-d0a557e…js:1天:周四开始时间:08:00完成时间:5:00 这是“流程”链接调用的函数:

$scope.go=function(){
log('Processing…');
对于(变量i=0;i<$scope.EmployeeTimes.length;i++){
console.log('Day:'+$scope.EmployeeTimes[i].Day+'StartTime:'+$scope.EmployeeTimes[i].StartTime+'FinishTime:'+$scope.EmployeeTimes[i].FinishTime);
}

只需使用
$scope.EmployeeTimes[yournindex].StartTime
对不起,你能详细说明一下吗?我不明白你说的[yournext]部分谢谢您指定您想要的
EmployeeTimes
数组的索引-例如,如果您想要第一个条目,请使用
0
idk。我如何感谢您,但非常感谢!这正是我所需要的..我非常感谢
$scope.go = function() {
    console.log('Processing...');
    for (var i = 0 ; i < $scope.EmployeeTimes.length; i++) {
      console.log('Day: '+$scope.EmployeeTimes[i].Day+' StartTime: '+$scope.EmployeeTimes[i].StartTime+' FinishTime: '+$scope.EmployeeTimes[i].FinishTime);
    }