Javascript 如何在AngularJS中获取按钮标签?

Javascript 如何在AngularJS中获取按钮标签?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,在我的AngularJS项目中,我有以下几行代码 <div ng-show="update"> <table border="1"> <tr ng-repeat="x in names"> <td>{{ x.uname}}</td> <td>{{ x.upass}}</td> <td><button ng-model="index" ng-

在我的AngularJS项目中,我有以下几行代码

<div ng-show="update">
<table border="1">
    <tr ng-repeat="x in names">
        <td>{{ x.uname}}</td>
        <td>{{ x.upass}}</td>
        <td><button ng-model="index" ng-click="show()" 
                     ng-value="{{x.index}}">Edit</button></td>
    </tr>
</table>    
但当我点击按钮时,警报框显示“未定义”。 请告诉我哪里错了??
提前感谢

将您的值作为onclick函数的参数提供怎么样

<div ng-show="update">
<table border="1">
    <tr ng-repeat="x in names">
        <td>{{ x.uname}}</td>
        <td>{{ x.upass}}</td>
        <td><button ng-click="show(x.index)">Edit</button></td>
    </tr>
</table> 
这应该行得通。按钮也不起作用。

在ng click=show(item)下-这给出了特定的item对象

    function show(obj){ console.log(obj)}
此函数提供从视图单击的特定对象


ng模型在按钮上不起作用。

您可以将重复迭代的索引传递给show方法,如下所示:

<button ng-click="show($index)" ...
function show(i){
  var v = names[i];
  alert(v);
}
你可以在这里看到它的作用:

注意:如果将索引传递给后端服务,则如果在视图中使用筛选器来更改/减少ng repeat表达式,则索引可能与实际数组不匹配

@Grundy指出的另一个选项是只将对象传递回,这样就省去了从数组访问对象的步骤。。。(注:这是建议的最佳实践)


我假设你想要你点击过的按钮标签和它的索引在提供的列表中。这是你能做的

<div ng-repeat="buttonId in testdata2">
  <button ng-bind="buttonId" ng-click="clickedMe(buttonId, $index)"></button>
</div>




$scope.clickedMe = function(buttonId, index) {
 console.log(buttonId + " - " + index);
};

$scope.clickedMe=函数(按钮ID,索引){
控制台日志(buttonId+“-”+索引);
};

将您的文件放在本地并运行。

好吧。。。实际上没有任何理由将按钮与ngModel指令绑定。你到底想实现什么?ng型号对按钮标签不起作用你说的按钮标签是什么意思?我的意思是我想在点击按钮时将索引从按钮传递到函数为什么不使用
id
param-inside函数?对不起,我犯了错误,我做得有点快。它是固定的:D.Thx@Ankit21ks用于建议编辑。如果您直接传递
x
,您不需要
名称[i]
@Grundy您是对的,我在我的plnkr中有它,但没有保存正确的URL。。。。但是我更新了我的答案来显示一个物体的经过。
function show(i){
  var v = names[i];
  alert(v);
}
<div ng-repeat="buttonId in testdata2">
  <button ng-bind="buttonId" ng-click="clickedMe(buttonId, $index)"></button>
</div>




$scope.clickedMe = function(buttonId, index) {
 console.log(buttonId + " - " + index);
};