Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在嵌套角度重复中维护计数器_Javascript_Angularjs - Fatal编程技术网

Javascript 在嵌套角度重复中维护计数器

Javascript 在嵌套角度重复中维护计数器,javascript,angularjs,Javascript,Angularjs,在我的文档的更高层,我有一个实际的表示层来组织购物车中的信息。没关系 在底部,我使用它创建表单变量,当用户单击Submit按钮时,表单变量将被提交 <form> <p style="text-align:right;"> <div data-ng-repeat="student in students"> <span data-ng-repeat="fee in student.fees" data-n

在我的文档的更高层,我有一个实际的表示层来组织购物车中的信息。没关系

在底部,我使用它创建表单变量,当用户单击Submit按钮时,表单变量将被提交

<form>
  <p style="text-align:right;">
    <div data-ng-repeat="student in students">              
      <span data-ng-repeat="fee in student.fees" data-ng-if="fee.checked">
        <input type="text" name="item_number_{{}}" value="{{fee.fee_type_id}}" />
        <input type="text" name="item_name_{{}}" value="{{fee.fee_type_name}}" />                   
      </span>
    </div>          
  </p>
</form>

付款供应商要求将其编号为item_number_0、item_number_1、item_number_2等。这意味着,如果我要以嵌套方式循环学生,则需要在学生之间维护计数器。所需的呈现HTML输出如下所示:

<form>
  <p style="text-align:right;">
    <div data-ng-repeat="student in students">              
      <span data-ng-repeat="fee in student.fees" data-ng-if="fee.checked">
        <input type="text" name="item_number_0" value="{{fee.fee_type_id}}" />
        <input type="text" name="item_name_0" value="{{fee.fee_type_name}}" />                  
      </span>
      <span data-ng-repeat="fee in student.fees" data-ng-if="fee.checked">
        <input type="text" name="item_number_1" value="{{fee.fee_type_id}}" />
        <input type="text" name="item_name_1" value="{{fee.fee_type_name}}" />                  
      </span>
    </div>
    <div data-ng-repeat="student in students">              
      <span data-ng-repeat="fee in student.fees" data-ng-if="fee.checked">
        <input type="text" name="item_number_2" value="{{fee.fee_type_id}}" />
        <input type="text" name="item_name_2" value="{{fee.fee_type_name}}" />                  
      </span>
      <span data-ng-repeat="fee in student.fees" data-ng-if="fee.checked">
        <input type="text" name="item_number_3" value="{{fee.fee_type_id}}" />
        <input type="text" name="item_name_3" value="{{fee.fee_type_name}}" />                  
      </span>
      <span data-ng-repeat="fee in student.fees" data-ng-if="fee.checked">
        <input type="text" name="item_number_4" value="{{fee.fee_type_id}}" />
        <input type="text" name="item_name_4" value="{{fee.fee_type_name}}" />                  
      </span>
    </div>  
  </p>
</form>

我想做两件事中的一件:

  • 每个项目后计数器增加1,或
  • 将每个学生末尾的计数器增加该学生的费用数

  • 根据我之前链接到的答案,这里有一支适用于您的用例的工作笔:

    代码如下所示:

    <div ng-repeat="student in students" ng-init="studentIndex = $index">
      <span ng-repeat="fee in student.fees" ng-if="fee.checked" ng-init="totalIterations[studentIndex] = totalIterations[studentIndex - 1] + student.fees.length; currentIteration = totalIterations[studentIndex-1] + $index;">
        <input type="text" name="{{'item_number_' + currentIteration}}" ng-value="fee.fee_type_id" />
        <input type="text" name="{{'item_name_' + currentIteration}}" ng-value="fee.fee_type_name" />
      </span>
    </div>
    

    根据我之前链接到的答案,这里有一支适用于您的用例的工作笔:

    代码如下所示:

    <div ng-repeat="student in students" ng-init="studentIndex = $index">
      <span ng-repeat="fee in student.fees" ng-if="fee.checked" ng-init="totalIterations[studentIndex] = totalIterations[studentIndex - 1] + student.fees.length; currentIteration = totalIterations[studentIndex-1] + $index;">
        <input type="text" name="{{'item_number_' + currentIteration}}" ng-value="fee.fee_type_id" />
        <input type="text" name="{{'item_name_' + currentIteration}}" ng-value="fee.fee_type_name" />
      </span>
    </div>
    
    
    
    Try name=“item_number”{{{$parent.$index}}看看这里的答案(更新):@tomsterritt我在这里尝试了类似的方法,但计数器没有正确递增

    `Try name=“item\u number”{{{$parent.$index}”查看此处的答案(更新):@tomsterritt我在此处尝试了类似的方法,但计数器没有正确递增。`

    `