2015-12-12 37 views
0

我想對錶格進行驗證,直到任何內容被刪除到任何列單元格爲止,用戶不應該在該單元格標題上放置任何內容。但我無法弄清楚如何在每個列的表頭和單元格之間建立連接。我想對錶格標題和正文進行一些驗證,使用角度

這是我的控制器:

angular.module('myApp', []).controller('myCtrl', function($scope) { 
     $scope.tableSelection = {}; 
     $scope.tableInputColSelection={};//added for ccgbase 2251 
    $scope.tableOutputColSelection={}; 
    $scope.output_columns=[1]; 
    $scope.input_columns=[1]; 
     $scope.data = []; 
     $scope.rows = [1, 2, 3]; 

     $scope.removeSelectedItems = function(){ 
     // $scope.rows = $scope.rows.filter(function(item, index){ 
     // return !($scope.tableSelection[index] !== undefined && $scope.tableSelection[index]); 
     if(Object.keys($scope.tableSelection).length>0){ 
           for (var i = $scope.rows.length - 1; i >= 0; i--) { 
            if ($scope.tableSelection[i]) { 
            //delete row from data 
             if($scope.rows.length>1){ 
             $scope.rows.splice(i, 1); 
             } 

            delete $scope.tableSelection[i]; 
           } 
           } 
           } 
           if(Object.keys($scope.tableInputColSelection).length>0){ 
            for (var i = $scope.input_columns.length - 1; i >= 0; i--) { 
             if ($scope.tableInputColSelection[i]) { 
             //delete row from data 
              if($scope.input_columns.length>1){ 
              $scope.input_columns.splice(i, 1); 
              } 
             delete $scope.tableInputColSelection[i]; 
             } 
           } 

           } 
           if(Object.keys($scope.tableOutputColSelection).length>0){ 
            for (var i = $scope.output_columns.length - 1; i >= 0; i--) { 
             if ($scope.tableOutputColSelection[i]) { 
             //delete row from data 
              if($scope.output_columns.length>1){ 
              $scope.output_columns.splice(i, 1); 
              } 
             delete $scope.tableOutputColSelection[i]; 
             } 
            } 
           } 





     } 
     $scope.addNewRow = function() { 
     //set row selected if is all checked 

     $scope.rows.push({ 
      id: $scope.rows.length, 
      name: 'Name ' + $scope.rows.length 
     }); 
     }; 
    $scope.addInput= function() { 
           for(var i=0;i<1;i++){ 
            $scope.input_columns.push({ 
             id:$scope.input_columns.length, 
             name: 'Name'+$scope.input_columns.length 
            }); 
            } 
          }, 

     $scope.addOutput= function() { 
           for(var i=0;i<1;i++){ 
            $scope.output_columns.push({ 
             id:$scope.output_columns.length, 
             name:'Name'+$scope.output_columns.length 
            }); 
            } 
          } 

This is the plunker link: 
http://plnkr.co/edit/IpUjN5wiwv3q8XT2y864?p=preview 

我想執行一些驗證,但我需要弄清楚如何獲得特定列的條目,包括單獨的所有列的頭部和單元。

回答

0

我不知道如何複雜性是你的對象。但以下想法可能會對你有所幫助。

如果數組如下,您可以輕鬆地進行驗證。

Headers = [Header1,Header2,Header3,Header4];

Header1ColumnValues =這些是值的數組。列
=這些是值的數組。

Columns = [[header1Columnvalues],[header2ColumnValues],[Header3ColumnValues],[Header4ColumValues]];

如果您要訪問的列1和標題1,那麼你就可以訪問諸如

頁眉[0],列[0],爲2N,頭[1],列[1]

+0

但是,這個解決方案工作時,數據順序輸入,假設如果數據被放置在第5列,第4行..然後如何識別單元格的索引。 –

+0

您可以從ng-repeat獲取索引,並具有回撥功能。將此重複索引傳遞給此回調函數。然後你會得到列的索引。行將根據數據在哪個位置被識別。希望這會幫助你.. –

+0

我嘗試了一些解決方案,但我沒有獲得drop index函數的$ index值。它在html頁面上給$ index undefined錯誤。你可以請幫我在這個如何獲取每個單元格的索引,當任何元素丟失 –