【问题标题】:how to change a expression in a ngFor on a selection of checkbox angular 2如何在选择复选框角度2时更改ngFor中的表达式
【发布时间】:2016-12-03 23:01:11
【问题描述】:

这是我的html代码

<tr *ngFor="let Resolution of Resolutions">
<td>{{Resolution.steps}}</td>
   <td>
      <div class="col-sm-10 ">
         <div *ngFor="let Suggestion of Resolution.Suggestions">
            <label >
                <input #t (change)="actualActions(t.checked)" type="checkbox" value="{{Suggestion.item}}" checked="{{Suggestion.status}}" class="i-checks"> {{Suggestion.item}}
            </label>
         </div>
      </div>
   </td>
   <td><textarea value="{{Actualaction}}"></textarea></td>
</tr>

第一列将显示一些文本,在第二列中它将使用另一个 ngFor 显示复选框。当我选择任何复选框时,我想在第三列中显示选中的复选框。

当我将选定的值打印到第三列时,我知道如何在 jquery 中执行此操作,但在 Angular2 中却不知道。表中的所有第三列数据都在变化 我希望每行第二列的检查值显示在该行的第三列中

【问题讨论】:

    标签: javascript angularjs checkbox angular ngfor


    【解决方案1】:

    您可以在第二个for循环中使用let i=index,并在change='actualActions(t.checked,i,Suggestion )中传递i with a particular object,如下所示,

      *ngFor="let Resolution of Resolutions">
                                <td>{{Resolution.steps}}</td>
                                <td>
                                <div class="col-sm-10 ">
                                    <div *ngFor="let Suggestion of Resolution.Suggestions;let i=index">
                                        <label >
                                            <input #t (change)="actualActions(t.checked,i,Suggestion )" type="checkbox" value="{{Suggestion.item}}" checked="{{Suggestion.status}}" class="i-checks"> {{Suggestion.item}}
                                        </label>
                                    </div>
                                </div>
                                </td>
                                <td><textarea value="{{Actualaction}}"></textarea></td>
                            </tr>
    

    在组件中

    actualActions(checked, index, obj){
       if(checked){
          //this.Actualaction=index 
          //this.Actualaction=obj.something
       }
    }
    

    【讨论】:

    • 我正在获取索引和选定的值,但是当我将它分配给 this.Actualaction 时,所有行的第三列正在发生变化。因为它在每一行中都有一个表达式..如何定义它应该只反映在同一行上...这个结果我之前也可以填充
    • 那是因为 Actualaction 是所有行的通用变量。如果您想为每一行单独设置,您应该考虑Resoultions list n 确保此列表中有实际操作。
    猜你喜欢
    • 1970-01-01
    • 2017-08-27
    • 2019-02-11
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 2021-01-29
    相关资源
    最近更新 更多