当ng-repeat在上时,如何检测单击哪个表行 tag | Angularjs

问题描述 投票:0回答:2

我有一个带有输入列的表行,我想得到一个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
}

我希望得到输入attr的id。当点击提交但问题是我总是得到第一个id无论什么td被点击i want to alert the item id when confirm is clicked

javascript jquery html angularjs-ng-repeat angularjs-ng-click
2个回答
2
投票

使用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);
}

1
投票

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

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



<input ng-click="confirmEntity_retour(fr);" type="button" value="Confirm"/>
© www.soinside.com 2019 - 2024. All rights reserved.