2017-01-31 11 views
0

私はいくつかの問題を抱えていますので、多くの検索をしてから手助けをすることにしました。私はAngularJSを使用しています。angularjsテーブルから正しい行が削除されていない

  1. 私の最初の問題は、私はNG-繰り返し使用したときにチェックボックスが正常に動作していないで、それだけで、以下の表のコードスニペットの最初のボックスをチェックします。私はcssでコード化されたカスタムチェックボックスを使用していますが、これはラベルの理由です。

  2. 私の2番目の問題は、チェックボックスをクリックすると、必要な行が削除されるはずですが、テーブルの一番下から始めるとその行が削除されますが、テーブルがチェックされているコードスニペットを除いて期待どおりに動作します。私はインデックスを設定する多くの方法を試みたが、それでも動作しません。

$ scope.removeRow =機能(タイプ){

var index = -1; 
var myArr = eval($scope.contacts); 
    for(var i = 0; i < myArr.length; i++) { 
     if(myArr[i].type === type) { 
      index = i; 
      break; 
      } 
     { 
if(index === -1) { 
     alert("Something gone wrong"); 
     } 


    $scope.contacts.splice(index, 1);  
}; 
+0

それが一致したときには、ループの中に休憩を持っているので、それがヒットした後、それが停止します最初の試合。それはおそらく、テーブルの最初のボックスをチェックするだけです –

答えて

0

まず第一に、eval($scope.contacts)を使用しないでください。その変数が文字列で、javascriptを含んでいれば、そのjavascriptが実行されます。 myArrmyArr = $scope.contactsを使用して定義されていない場合は、myArr = JSON.parse(JSON.stringify($scope.contacts)を使用するか、angular.copyメソッドを使用できます。

あなたのHTMLが表示されないので、チェックボックスが機能しない理由を教えられません。しかし、あなたの第二の問題に関しては、それはあなたがspliceを打ったときに上の行を削除するなら、なぜにそのコードを変更しない:

$scope.contacts.splice(index + 1, 1) 
関連する問題