当 ng-repeat 在 <tr> 标签上时,如何检测点击了哪 table 行 | Angularjs

how to detect which table row is clicked when ng-repeat is on the <tr> tag | Angularjs

我有一个包含输入列的 table 行,我想获取 td 的值 (id),出于某种原因,我必须通过在单击 td 时调用一个函数来完成此操作

HTML CODE:

<tr ng-repeat="fr in nonConfirmedFactureRetour">
    <td> 
//storing id in the data-item Attr.

        <input id="pending_item_name" data-item="{{fr.id}}" value="{{fr.facture_item_name}}" type="text"/>
    </td>
    <td>
        <input id="pending_cls_crt" value="{{fr.fcls_crt}}"  type="text"/>
    </td>
    <td>
        <input id="pending_piece" value="{{fr.fpiece}}"  type="text"/>
    </td>
    <td>
        <input id="pending_dateCom" value="{{fr.dateCom}}"  type="text"/>
    </td>
    <td>
        <input id="pending_dateRec" value="{{fr.dateRec}}"  type="text"/>
    </td>
    <td>
// calling function to hget the id 
        <input ng-click="confirmEntity_retour();" type="button" value="Confirm"/>
    </td>
</tr>

JS代码:

$scope.confirmEntity_retour=function(){
            var item_nameId=$("#rfi").attr("data-itid");
            alert(item_nameId); //alert the id when calling this function
}

我希望获得输入属性的 ID。当点击提交 但问题是无论点击什么 td,我总是得到第一个 ID

使用JQuery 从DOM 获取数据违反了AngularJS 的范例。您应该改用数据绑定。您可以将项目的 ID 作为参数传递给 confirmEntity_retour 函数。

HTML 模板:

<input ng-click="confirmEntity_retour(fr.id);" type="button" value="Confirm"/>

控制器:

$scope.confirmEntity_retour = function(id) {
  alert(id);
}

尝试将整个项目作为参数传递给函数。

$scope.confirmEntity_retour=function(item){
        alert(item.id)
}



<input ng-click="confirmEntity_retour(fr);" type="button" value="Confirm"/>