如何使用angularjs删除特定行的值

时间:2017-02-13 10:32:19

标签: angularjs

如果单击“添加”按钮,则会创建新行。如果我有3行,并且我想使用删除按钮删除第2行值。

当我点击删除按钮时,会删除行,但默认情况下会删除最后一行索引的值。

我创建了一个小提琴http://jsfiddle.net/6Texj/287/

<td >
  <input type="text" name="count" class="form-control2" autocomplete="off" id="langlistNumber_{{$index}}">
</td>
<td><input type="text" name="count" class="form-control3" autocomplete="off" id="langlist_{{$index}}"></td>
<td><input type="text" name="count" class="form-control3" autocomplete="off" id="langurllist_{{$index}}">
   <a href ng-click="removelanglist(index)" ng-if="displayremovebutton">Remove</a>
</td>

$scope.addlanguagelist = function() {
     debugger;
     var index = $scope.languagelist.length;

     console.log(index);
     $scope.isCollapsed = true;
     $scope.displayremovebutton = true;
     $scope.languagelist.push({
        "model.urlListNumber": "",
        "model.numbersUrlList": "",
        "model.url": "",
        "index": $scope.countBlocks
     });

     $timeout(function() {
         $scope.countBlocks++;
     }, 200)};

     $scope.removelanglist = function(index) {
            console.log(index);
            $scope.languagelist.splice(index, 1);
     };

2 个答案:

答案 0 :(得分:0)

请查看为您删除项目的this updated fiddle

更新后的删除功能使用从模板传递的项目,并在数组中查找该项目的索引。然后将该索引与拼接方法一起使用,如下所述:

$scope.removelanglist = function(item) {
    var index = $scope.languagelist.indexOf(item);
    $scope.languagelist.splice(index, 1);
};

答案 1 :(得分:0)

Swicth:

ng-click="removelanglist(index)"ng-click="removelanglist($index)"