Javascript 如何使用angularjs显示id

Javascript 如何使用angularjs显示id,javascript,angularjs,Javascript,Angularjs,我想在单击“删除”按钮时用弹出窗口显示id。但是当我点击删除按钮时,它不起作用。当我在inspect元素中检查控制台时,他们说listData未定义。有人帮我吗?我是新来的 视图: 积垢 .桌子{ 边界塌陷:塌陷; } tr,td,th{ 边框:1x实心#000; 填充物:5px; } 运输署{ 宽度:300px } 身份证件 纳米 阿拉马特 行动 {{x.id} {{x.nama}} {{x.alamat}} 控制器: app.controller('MainController',['$

我想在单击“删除”按钮时用弹出窗口显示id。但是当我点击删除按钮时,它不起作用。当我在inspect元素中检查控制台时,他们说listData未定义。有人帮我吗?我是新来的 视图:


积垢
.桌子{
边界塌陷:塌陷;
}
tr,td,th{
边框:1x实心#000;
填充物:5px;
}
运输署{
宽度:300px
}
身份证件
纳米
阿拉马特
行动
{{x.id}
{{x.nama}}
{{x.alamat}}
控制器:

app.controller('MainController',['$scope',function($scope){
    $scope.listData = [
        {
            'id' : 01,
            'nama' : 'Faizah Pratiwi',
            'alamat' : 'Malang'
        },
        {
            'id' : 02,
            'nama' : 'Anastasya Putri',
            'alamat' : 'Jember'
        },
        {
            'id' : 03,
            'nama' : 'Sharon Natalia',
            'alamat' : 'Tulungagung'
        },
        {
            'id' : 04,
            'nama' : 'Faizah Pratiwi',
            'alamat' : 'Malang'
        },
    ];

    $scope.del = function(id){
        var index = getSelectedIndex(id);
        alert(index);
        $scope.listData.slice(index,1);
    };
    function getSelectedIndex(id){
        for (var i = 0; i < listData.length; i++) {
            if($scope.listData[i].id==id)
                return i;
            return -1;
        }
    }
}]);
app.controller('MainController',['$scope',函数($scope){
$scope.listData=[
{
'id':01,
“纳玛”:“法扎·普拉蒂维”,
“阿拉马特”:“马朗”
},
{
'id':02,
“nama”:“Anastasya Putri”,
“alamat”:“Jember”
},
{
id:03,,
“娜玛”:“莎伦·纳塔莉亚”,
“alamat”:“Tulungagung”
},
{
id:04,,
“纳玛”:“法扎·普拉蒂维”,
“阿拉马特”:“马朗”
},
];
$scope.del=函数(id){
var索引=getSelectedIndex(id);
警报(索引);
$scope.listData.slice(索引,1);
};
函数getSelectedIndex(id){
对于(var i=0;i
它表示未定义,因为它应该是
$scope.listData

 function getSelectedIndex(id){
        for (var i = 0; i < $scope.listData.length; i++) {
            if($scope.listData[i].id==id)
                return i;               
        }
        return -1;
    }
不需要这样做,您可以使用这段代码直接从数组中删除索引

$scope.del = function(index) {
    alert(index);
    $scope.listData.splice(index, 1);
  };


如果前端使用angularjs,则不需要传递id,angular的ng repeat会为数组生成索引。因此,您可以直接在方法中传递$index,如下所示:

<a href="#" ng-click="del($index)">Delete</a>
<a href="#" ng-click="update($index)">Edit</a>
这将节省您的额外工作:) 选中此复选框,即可创建相同的示例

更改功能如下-

$scope.del = function(id) {
    var index = getSelectedIndex(id);
    alert(index);
    if (index > -1) {
      $scope.listData.splice(index, 1);
    }
  };

  function getSelectedIndex(id) {
    for (var i = 0; i < $scope.listData.length; i++) {
      if ($scope.listData[i].id === id)
        return i;

    }
    return -1;
  }
$scope.del=函数(id){
var索引=getSelectedIndex(id);
警报(索引);
如果(索引>-1){
$scope.listData.splice(索引,1);
}
};
函数getSelectedIndex(id){
对于(变量i=0;i<$scope.listData.length;i++){
if($scope.listData[i].id==id)
返回i;
}
返回-1;
}

此处给出的id值正确吗?我的意思是,如果你想输入一个整数,那么只需提及1、2、3或4,否则将其用作字符串,如'01'、'02'、'02等。你在id处看到了什么?我想
返回-1位于错误的位置上面的函数有一个问题,它只在第一种情况下工作,在后续的情况下,它总是返回-1,因为在for循环中返回了-1。@SumitDeshpande它只是一个sample@Sajeetharan对于样品应该是正确的,请考虑编辑。
<a href="#" ng-click="del($index)">Delete</a>
<a href="#" ng-click="update($index)">Edit</a>
$scope.del = function(index){
     alert(index);
     $scope.listData.splice(index,1);
};
$scope.del = function(id) {
    var index = getSelectedIndex(id);
    alert(index);
    if (index > -1) {
      $scope.listData.splice(index, 1);
    }
  };

  function getSelectedIndex(id) {
    for (var i = 0; i < $scope.listData.length; i++) {
      if ($scope.listData[i].id === id)
        return i;

    }
    return -1;
  }